

function ToggleLists(sUniqueId)
{

	var b = document.getElementsByTagName("tr");
	if( document.getElementById(sUniqueId + "_toggle").innerText == "display all")
	{
		document.getElementById(sUniqueId + "_toggle").innerText = "display recent";
		document.getElementById(sUniqueId + "_head").innerText = "Displaying all list activity";
		for(var i = 0; i < b.length; i++)
		if(b[i].getAttribute("hiding") == "yes" && b[i].getAttribute("uniqueId")==sUniqueId)
		{		
			b[i].style.display = "inline";
			b[i].hiding = "no";
		}	
	}
	else
	{
		document.getElementById(sUniqueId + "_toggle").innerText = "display all";
		document.getElementById(sUniqueId + "_head").innerText = "Displaying most recent list activity";
		for(var i = 0; i < b.length; i++)
		if(b[i].getAttribute("hiding") == "no" && b[i].getAttribute("uniqueId")==sUniqueId)
		{		
			b[i].style.display = "none";
			b[i].hiding = "yes";
		}
	}	
}

function ValidateEmail(objEmail)
{

	var txt;
	txt= objEmail.value;
	if( !ValidateString( txt, 1,50 ) ) 
	{
		alert( "Email must have length from 1 to 50 characters.");
		objEmail.focus();
		return false;
	}
	if (txt.indexOf("@")<1)
	{
		alert("The E-mail Address you entered is invalid. Please re-enter your E-mail Address.");
		objEmail.focus();
		return false;
	}	
	if (txt.indexOf(".")<1)
	{
		alert("The E-mail Address you entered is invalid. Please re-enter your E-mail Address.");
		objEmail.focus();
		return false;
	}		
	return true;
}

function ValidateString( objField, sFieldName, iMinLen, iMaxLen )
{
	if( (objField.value.length <= iMaxLen) && ( objField.value.length >= iMinLen ))
		return true;
	alert( sFieldName + " must have more than " + iMinLen + " and less than " + iMaxLen + " characters");
	objField.focus();
	return false;
}

function ValidateDate( objField, sFieldName )
{
	var sStr;
	sStr = check_date(objField.value);
	if( sStr.length == 0 )
	{
		alert(sFieldName  + " must be in mm/yy format");
		objField.focus();
		return false;
	}
	objField.value = sStr;
	return true;
}
	
function check_date(sStr)
{
	var checkstr = "0123456789";
	var sTmp = new Array("", "", "");
	var iIndex = 0;
	var Datevalue = "";
	var DateTemp = "";
	var separator = "/";
	var day;
	var month;
	var year;
	var leap = 0;
	var i;

//Accepts date in format mm/yyyy or mm/dd/yyyy


   /* Delete all chars except 0..9 */
	for (i = 0; i < sStr.length; i++) 
	{
		if (checkstr.indexOf(sStr.substr(i,1)) >= 0) 
			sTmp[iIndex] = sTmp[iIndex] + sStr.substr(i,1);
		else
		{
			iIndex++;
			if( iIndex > 2 )
				return "";
		}
	}

	if( iIndex == 1 )
	{
		year = parseInt(sTmp[1], 10);
		day = 1;
		month = parseInt(sTmp[0], 10);
	}
	if( iIndex == 2 )
	{
		year = parseInt(sTmp[2], 10);
		day = parseInt(sTmp[1], 10);
		month = parseInt(sTmp[0], 10);
	}


  	if( iIndex == 0 )
		return "";
	/* if year is entered as 2-digit / always assume 20xx */
   	if (isNaN(day))
		return '';
   	if (isNaN(month))
		return '';
   	if (isNaN(year))
		return '';


	if (year < 100) 
		year = 2000 + year;

	 /* Validation of month*/
	if ((month < 1) || (month > 12))
		return '';
	/* Validation leap-year / february / day */
	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0))
	      leap = 1;
	if ((month == 2) && (leap == 1) && (day > 29))
		return '';
	if ((month == 2) && (leap != 1) && (day > 28))
		return '';
	   /* Validation of other months */
	if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12")))
		return '';
	if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11")))
		return '';
	if( iIndex == 2 )
		sStr = month + separator + day + separator + year;
	else
		sStr = month + separator + year;
	return sStr;
}
function Openme(newin)
{
	var fl;
	fl = window.open(newin,"flyout","menubar=no,location=no,directories=no,status=no,resizable=yes,scrollbars=yes,toolbar=no,copyhistory=no,StatusBar=no,width=500,height=450,top=130,left=160");
	fl.focus();
}

function mod10( cardNumber ) 
{
	var ar = new Array( cardNumber.length );
	var i = 0,sum = 0;


    	for( i = 0; i < cardNumber.length; ++i ) {
    		ar[i] = parseInt(cardNumber.charAt(i));
    	}
    	for( i = ar.length -2; i >= 0; i-=2 ) { // you have to start from the right, and work back.
    		ar[i] *= 2;							 // every second digit starting with the right most (check digit)
    		if( ar[i] > 9 ) ar[i]-=9;			 // will be doubled, and summed with the skipped digits.
    	}										 // if the double digit is > 9, ADD those individual digits together 


        	for( i = 0; i < ar.length; ++i ) {
        		sum += ar[i];						 // if the sum is divisible by 10 mod10 succeeds
        	}
        	return (((sum%10)==0)?true:false);	 	
    }

function validateCard(cardNumber,cardType) 
{
        	if( cardNumber.length == 0 )
		return false;

        	for( var i = 0; i < cardNumber.length; ++i ) 
	{		// make sure the number is all digits.. (by design)
        		var c = cardNumber.charAt(i);
            		if( c < '0' || c > '9' )
            			return false;
            	}
            	var length = cardNumber.length;			//perform card specific length and prefix tests

             	switch( cardType ) 
	{
     		case 'a':
			if( length != 15 ) 
				return false;
                    		var prefix = parseInt( cardNumber.substring(0,2));
     			if(( prefix != 34) && (prefix != 37 ))
				return false;
			break;
                        	case 'd':
                       		if( length != 16 )
                            		return false;
                            	var prefix = parseInt( cardNumber.substring(0,4));
            			if( prefix != 6011 ) 
				return false;
			break;
                            case 'm':
            			if( length != 16 )
				return false;
                                    	var prefix = parseInt( cardNumber.substring(0,2));
             			if(( prefix < 51) || (prefix > 55))
				return false;
			break;
          		case 'v':
			if( length != 16 )
				return false;
                                    	var prefix = parseInt( cardNumber.substring(0,2));
             			if(( length != 16) && (length != 13 ))
				return false;
          			var prefix = parseInt( cardNumber.substring(0,1));
      			if( prefix != 4 )
				return false;
			break;
		}
                            if( !mod10( cardNumber ) )
			return false;
	return true;
}

function DoPostBack(sPostBack)
{
	__doPostBack(sPostBack, '');
}
function UploadFile(sLinkButton)
{
	var mnTbl = document.getElementById("mnTbl");
	mnTbl.style.display="none";
	var mnFlash = document.getElementById("mnFlash");
	mnFlash.style.display="inline";
	__doPostBack(sLinkButton, '');
	//PopupWait("https://slingshot-tech.com/ALv1/WaitTillDone1.aspx?PostBack=" + sLinkButton );
}
	
function PopupWindow(sURL)
{
				myURL = "help/" + sURL
				winwidth = 325; 
				winheight = 320; 
				winleft = (screen.width / 2) - (winwidth / 2); 
				wintop = (screen.height / 2) - (winheight / 2); 
				window.open(myURL,"help_affiliate","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, formhistory=no, width=" + winwidth + ", height=" + winheight + ", left=" + winleft + ", top=" + wintop + "")
}
function PopupWait(sURL)
{
			myURL = sURL
			winwidth = 220; 
			winheight = 125; 
			winleft = (screen.width / 2) - (winwidth / 2); 
			wintop = (screen.height / 2) - (winheight / 2); 
			window.open(myURL,"help_affiliate","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=" + winwidth + ", height=" + winheight + ", left=" + winleft + ", top=" + wintop + "")
}
