﻿// JScript File
 
function getObj(objID,sParameter) 
{ 
    var sParam = 'cphContent';
    if(sParameter != null)
          sParam = sParameter;
    if (document.getElementById)
    {   
      if (document.getElementById(objID)==null)
	        objID="ctl00"+"_"+sParam+"_"+objID;  
	    return document.getElementById(objID)
	}
	else if (document.all)
	{ 
	    if (document.all(objID)==null)
	        objID="ctl00_"+sParam+"_"+objID;
	         
	    return document.all[objID];
	}
	else if (document.layers)
	{
	    if (document.layers(objID)==null)
	        objID="ctl00_"+sParam+"_"+objID;
	        	    
	    return document.layers[objID];
	}
}  


function extractNumber(obj, decimalPlaces, allowNegative)
{

	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}
	
	obj.value = temp;
}
function blockNonNumbers(obj, e, allowDecimal, allowNegative)
{
	var key;
	var isCtrl = false;
	var keychar;
	var reg;
		
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}
	
	if (isNaN(key)) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
	
	return isFirstN || isFirstD || reg.test(keychar);
}


function blockNonNumbersSearch(obj, e, allowDecimal, allowNegative)
{
	var key;
	var isCtrl = false;
	var keychar;
	var reg; 
		
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}
	
	if (isNaN(key)) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
	
	return isFirstN || isFirstD || reg.test(keychar);
}		
		
		
function blockSpace(ctrl,e) 
{  
  var isIE = document.all?true:false;
  var isNS = document.layers?true:false;	 
  var key = (isIE) ? window.event.keyCode : e.which; 
  var position =ctrl.value.charAt(0);

   if(key == 32 &&  ctrl.value.length == 0 && position=='')
   {
     return false;
   }
   else
   { 
     return true;  
   } 
}

//Generating Pop-up Print Preview page
function getPrint(print_area)
{	
	//Creating new page
	var pp = window.open('','',"width=670,height=490,scrollbars=1,menubar=no,toolbar =no");
	//Adding HTML opening tag with <HEAD> … </HEAD> portion 
	pp.document.writeln('<HTML><HEAD><title>Print Preview</title>')
	pp.document.writeln('<LINK href=App_Themes/Style/StyleSheet.css  type="text/css" rel="stylesheet">')
	//pp.document.writeln('<LINK href=App_Themes/Style/PrintStyle.css  type="text/css" rel="stylesheet" media="print"><base target="_self">')
	pp.document.writeln('</HEAD>')
	//Adding Body Tag
	pp.document.writeln('<body MS_POSITIONING="GridLayout"  bottomMargin="0" leftMargin="0" topMargin="0" rightMargin="0" >');
	//Adding form Tag
	pp.document.writeln('<form  method="post">');
	//Creating two buttons Print and Close within a table
	//pp.document.writeln('<TABLE width=100%><TR><TD></TD></TR><TR><TD align=right><INPUT ID="PRINT" type="button" value="Print" onclick="javascript:location.reload(true);window.print();"><INPUT ID="CLOSE" type="button" value="Close" onclick="window.close();"></TD></TR><TR><TD></TD></TR></TABLE>');
	//Writing print area of the calling page
	//pp.document.writeln('<center>');
	
	//pp.document.writeln(document.getElementById(print_area).innerHTML);
	
	str = new String(document.getElementById(print_area).innerHTML);
	str= str.replace(/class=ContentDivStory/i,"class=PrintContentDivStory"); 
	str= str.replace(/class=ContentDiv/i,"class=PrintContentDiv"); 
	str= str.replace(/<HR>/i,""); 
	str= str.replace(/align=center/i,""); 
	
	  
	pp.document.writeln(str);
	//pp.document.body.replaceAdjacentText('<DIV class=ContentDivStory style="WIDTH: 100%">','<DIV  style="WIDTH: 100%">');
	//pp.document.writeln('</center>');
	//Ending Tag of </form>, </body> and </HTML>
	pp.document.writeln('</form></body></HTML>');	
	pp.onload = window.print();	 			
	
}	


// Checked all Check Box in Grid View...
function SelectGrid(oTemp,nGridNumber)
{
	
	var oGrid, sGrid;
	if (nGridNumber==1)
	{ 
	  oGrid=eval("getObj('gvSubscribe')"); 
	  sGrid="gvSubscribe"; 
	}
	  
	if (nGridNumber==2)
	{ 
	  oGrid=eval("getObj('ctl00_cphContent_SCViewCart_gvCart')"); 
	  sGrid="ctl00_cphContent_SCViewCart_gvCart"; 
	}
	  
	var sColor,sCheck;				
	if(oTemp.checked==true)
	{
		sColor = "#wwwwww";
		sCheck = true;
	}
	else
	{
		sColor = "#wwwwwww";
		sCheck = false;
	}
	 
	for(i=2;i<=oGrid.rows.length+1;i++)
	{		
		if(i<10)
			{ctrli="0" + i;}
		else
			{ctrli= i;}
	    
	   	var oCheck;
	   	if (nGridNumber==1)
	        oCheck = eval("getObj('"+sGrid +"_ctl" + ctrli + "_chkSubscribe')");
	    else
	        oCheck = eval("getObj('"+sGrid +"_ctl" + ctrli + "_chkRemove')");
	        
		if (oCheck)
		{	
		    var objTr=findParentWithTag(oCheck,'TR');
		    if(objTr.className!=null)
            {
                if(objTr.className=='GridCellSelected' && sCheck==false)
                { 
                    if(i%2=='1')
                        objTr.className='GridCellLight';
                    else
                        objTr.className='GridCellDark';
                }
                else
                {
                      objTr.className='GridCellSelected';
                }                
            }	    			
			if(oCheck.disabled==false)
			{
				oCheck.checked = sCheck;
			}
		}
	}
}

//Function For UnChecking All Check box in Grid
function UnSelectGrid(oTemp,nGridNumber,checkBoxName)
{
	var oGrid, sGrid;
	if (nGridNumber==1){   oGrid=eval("getObj('gvSubscribe')");  sGrid="gvSubscribe";}
	if (nGridNumber==2){   oGrid=eval("getObj('ctl00_cphContent_SCViewCart_gvCart')");  sGrid="ctl00_cphContent_SCViewCart_gvCart";}
	
	var sCheck;				
			
	if(oTemp.checked==true)
	{
		sCheck = true;
	}
	else
	{
		sCheck = false;
	}
	
	
	 for(i=1;i<=oGrid.rows.length+1;i++)
    {	
        if(i<10)
			    {ctrli="0" + i;}
		    else
			    {ctrli= i;}
			    
	    var trId="ctl00_cphContent_gvSubscribe_ctl" + ctrli+ "_chkSubscribe";
	    
	    if (nGridNumber==1)
	        trId = "ctl00_cphContent_gvSubscribe_ctl" + ctrli+ "_chkSubscribe";
	    else
	        trId = "ctl00_cphContent_gvCart_ctl" + ctrli+ "_chkRemove";
		
		var objTr=findParentWithTag(oTemp,'TR');
		
		if(oTemp.id==trId)
		{  
            if(objTr.className!=null)
            {
                if(objTr.className=='GridCellSelected' && sCheck==false)
                { 
                  
                    if(i%2=='1')
                       {
                       
                        objTr.className='GridCellLight';
                        }
                    else
                        objTr.className='GridCellDark';
                }
                else
                {
                      objTr.className='GridCellSelected';
                }
                
            }	        
	    }
				
	    var oCheck ;
	    if (nGridNumber==1)
	        oCheck = eval("getObj('"+sGrid +"_ctl" + ctrli + "_chkAll')");
	    else
	        oCheck = eval("getObj('"+sGrid +"_ctl" + ctrli + "_chkRemoveAll')");
	    
	    
	    if (oCheck)
	    {			 					
		    if(sCheck==false)
		    {
			    oCheck.checked = false;
		    }
				
	    }
    }	
}


//findParentWithTag 
function findParentWithTag(el, tagName)
{  
    var parent = el.parentNode; 
    if (parent)
    {    
        if (parent.tagName ==tagName)
            return parent;
        else     
            return findParentWithTag(parent, tagName);  
    }
    else    
        return null;
}

//For Enter Button in multiple line textbox
function enterSubmit()
{    
   DisableSubmitButtonID = eval("document.getElementById('ctl00_DisableSubmitButtonID').value");
   
   if(DisableSubmitButtonID != '0')
    {   
        var SubmitButtonIDid = eval("document.getElementById('ctl00_SubmitButtonID').value");
    
        if(SubmitButtonIDid=='') 
            return; 
        else if(SubmitButtonIDid.indexOf(',') !=-1)
        {
            var obtnId = new Array();
            obtnId = SubmitButtonIDid.split(','); 
            for(i=0; i<obtnId.length;i++)
            {  
                if(document.getElementById(obtnId[i])) 
                {
                    if(getObj('trAccessRights'))
                    {
                        if(getObj('trAccessRights').style.visibility=="hidden")
                        {
                            getObj('btnSave').focus();
                            getObj('btnSave').click();
                        }
                        else
                        {
                            getObj('btnSaveAccess').focus();
                            getObj('btnSave').click();
                        }
                        return;
                    }
                    else
                        document.getElementById(obtnId[i]).focus();
                }
            } 
        }
        else 
            document.getElementById(SubmitButtonIDid).focus();   
    }
}
 
function disableSubmit()
{	 
    document.getElementById('ctl00_DisableSubmitButtonID').value="0";    
}

function enableSubmit()
{ 
    document.getElementById('ctl00_DisableSubmitButtonID').value="1";
}

function hideCardBox(_prefix, _card4, _cardType)
{
  
    var _objCardType = document.getElementById(_prefix + _cardType);
    var _objCard4 = document.getElementById(_prefix + _card4);
    
    var _selectedIndex = _objCardType.selectedIndex;
    var _selectedText = _objCardType.options[_selectedIndex].text;
    
    if( _selectedText.toLowerCase() == 'amex') 
        _objCard4.style.display = 'none'; 
    else
        _objCard4.style.display = '';
}

function ValidateCreditCardNumber(sender,args)
{
   
    var _prefix= 'ctl00_cphContent_SCPayment_';   
    var _objCard1 = document.getElementById(_prefix + 'txtCC1');
    var _objCard2 = document.getElementById(_prefix + 'txtCC2');
    var _objCard3 = document.getElementById(_prefix + 'txtCC3');
    var _objCard4 = document.getElementById(_prefix + 'txtCC4');
    var _objCardType = document.getElementById(_prefix + 'ddlCardType');
    
    if(_objCard4.style.display == 'none')
    {
        if(_objCard1.value.length == 5 && _objCard2.value.length == 5 && _objCard3.value.length == 5)
          { 
             args.IsValid = true;
		     return ; // valid string
		 }
		 else if(_objCard1.value.length == 0 && _objCard2.value.length ==0 && _objCard3.value.length == 0 )
		 {
		 sender.errormessage  = "Please enter credit card number"; 
		 args.IsValid = false;
	     return ; // valid string
		 }
    }   
    else
    {
        if(_objCard1.value.length == 4 && _objCard2.value.length == 4 && _objCard3.value.length == 4 && _objCard4.value.length == 4)
         { args.IsValid = true;
		     return ; // valid string
		 }
		 else if(_objCard1.value.length == 0 && _objCard2.value.length ==0 && _objCard3.value.length == 0 && _objCard4.value.length == 0)
		 {
		 sender.errormessage  = "Please enter credit card number"; 
		 args.IsValid = false;
	     return ; // valid string
		 }		 
    }
    sender.errormessage  = "please enter valid credit card number"; 
    args.IsValid = false;
	return ; // valid string
}


function ValidateCVV(sender,args)
{
   
    var _prefix= 'ctl00_cphContent_SCPayment_';   
    var _objCVV = document.getElementById(_prefix + 'txtCardVerification');
    var _objCard4 = document.getElementById(_prefix + 'txtCC4');
    var _objCardType = document.getElementById(_prefix + 'ddlCardType');

     if(_objCVV.value.length == 0)
	     {
	     sender.errormessage  = "Please enter card identification number"; 
	     args.IsValid = false;
         return ; // valid string
	     }
    if(_objCard4.style.display == 'none')
    {
        if(_objCVV.value.length == 4)
            {            
             args.IsValid = true;
		     return ; // valid string
            }
    }   
    else
    {
        if(_objCVV.value.length == 3)
           { 
            args.IsValid = true;
		    return ; // valid string            
            }
    } 
      sender.errormessage  = "Please enter valid card identification number";
      args.IsValid = false;
	  return ; // valid string
   
}

function changeTabCard(_prefix, obj1, obj2, _cardType)
{
    //var _element = document.getElementById;
    var _objCardType = document.getElementById(_prefix + _cardType);
    
    var _objCard1 = document.getElementById(_prefix + obj1);
    var _objCard2 = document.getElementById(_prefix + obj2);
    
    var _selectedIndex = _objCardType.selectedIndex;
    var _selectedText = _objCardType.options[_selectedIndex].text;
    
    var len=4;
    if( _selectedText.toLowerCase() == 'amex')
        len=5;      
     if(_objCard1.value.length ==len)
        {
          
    if(obj1=="txtCC3" && len==5)
            document.getElementById(_prefix+"txtCardVerification").focus();
        else
            _objCard2.focus();
     }
}

function setCardBoxes(_prefix, _card1, _card2, _card3, _card4,_cvvText)
{
    var _objCard1 = document.getElementById(_prefix + _card1);
    var _objCard2 = document.getElementById(_prefix + _card2);
    var _objCard3 = document.getElementById(_prefix + _card3);
    var _objCard4 = document.getElementById(_prefix + _card4);
    var _objCVV = document.getElementById(_prefix + _cvvText);
    
    if(_objCard4.style.display == 'none')
    {
        _objCard1.maxLength = 5 ; _objCard2.maxLength = 5; _objCard3.maxLength = 5;
        _objCVV.maxLength = 4
    }   
    else
    {
       _objCard1.maxLength = 4 ; _objCard2.maxLength = 4 ; _objCard3.maxLength = 4 ; _objCard4.maxLength = 4
          _objCVV.maxLength = 3 ;
    }  
}

function CheckExpiry(sender,args)
{
    var _prefix= 'ctl00_cphContent_SCPayment_';   
    var curDate =	new	Date()
    var curmonth = curDate.getMonth()+1; 
    var curyear = curDate.getYear();  
     
    if((document.getElementById(_prefix+'ddlExpiryMonth').value)<parseInt(curmonth) && (document.getElementById(_prefix+'ddlExpiryYear').value)==parseInt(curyear))
    {
        sender.errormessage  = "Please select valid expiry date";
        args.IsValid = false;
        return ; // valid string
    }           
}
   
            