﻿// JScript File
<!--
function validateSearch(obj)
{
    var txt = document.getElementById('SearchText');
    if(txt.value == ""){
        alert("Please enter search criteria.");
        return false;
    }
    else{ return true; }
}

// Function Use for Displaying search criteria in advance search.
function displaySearchOptions(sObj,dObj)
{
    var panel = document.getElementById(dObj);
    if(panel.style.display == "none")
    {
        panel.style.display = "block";
        sObj.style.display = "none";
    }
    else
    {
        panel.style.display = "none";
    }
}

// Validation of Advance Search Page for All fields. [Start Here]
function ValidateSearch()
{
    var from = document.getElementById("ctl00_CPH1_txtLowerPrice");
    var to = document.getElementById("ctl00_CPH1_txtHigerPrice");
    
    if(checkLeftSearch("ctl00_CPH1_txtKeyword") == false)
        return false;
    else
    {
        if(from.value != "" && to.value == "")
	    {
	        alert('Please enter price To!');
	        return false;
	    }  
	    else if(to.value != "" && from.value == "")
	    {
	        alert('Please enter price From!');
	        return false;
	    } 
	    else if(to.value != "" && from.value != "")
	    {
		    if(!isNaN(from.value) && !isNaN(to.value))
		    {
			    if(parseFloat(from.value) > parseFloat(to.value))
			    {
				    alert('From price should be less then To price!');
				    return false;
			    }
			    else
				    return true;
		    }
		    else
		    {
			    alert('Please Enter Correct Price Value!');
			    return false;
		    }
	    }
	    else
	    {
	        if(from.value == "0")
	            from.value = 1;
	        return true;
	    }
	}    
}
// [End Here]

// Hide Error Display in Product List.
function hideErrorMsg(obj)
{
    var div = document.getElementById(obj);
    div.style.display = "none";
}

// Function that will check the quantity in Product Detail & Shopping Cart Page.
function checkQuantity(obj)
{
    var qty = document.getElementById(obj);
        
    if(qty.value != "")
    {
        if(isNaN(qty.value) == false)
        {
            if(parseInt(qty.value) <= 0)
            {
                alert("Quantity must be more than Zero.");
                return false;
            }
            else
                return true;
        }
        else
        {
            alert("Please Enter only Numeric Value in Quantity Field.");
            return false;
        }
    }
    else
    {
        alert("Please Enter Quantity.");
        return false;
    }
    
}

// This code will use for Enable/disable State at registration.
function clearStateVal()
{
    var drp = document.getElementById("ctl00_CPH1_drpMCUSXintSta0");
    var txt = document.getElementById("ctl00_CPH1_txtother");
    var chk = document.getElementById("ctl00_CPH1_chkother");
    
    if(drp.value == "")
	{
	    txt.value="";
		txt.disabled=true;
		chk.checked=false;
		return;
	}
	
	if(drp.value > 0)
	{
		txt.value="";
		txt.disabled=true;
		chk.checked=false;
	}
	else if(drp.value == 0)
	{
		txt.value="";
		txt.disabled=false;
		chk.checked=true;
	}
}
function setStateVal(obj)
{
    var txt = document.getElementById("ctl00_CPH1_txtother");
    var drp = document.getElementById("ctl00_CPH1_drpMCUSXintSta0");
	if(obj.checked)
	{
		txt.disabled=false;
		drp.value = "0"
	}
	else
	{
		drp.value = "";
		txt.disabled = true;
		txt.value="";
	}
}
// Enable/disable End here

function openwin(theURL,winName,features) 
{ 
  window.open(theURL,winName,features);
}

function searchcheck(frmObj)
{
	if (frmObj.txtSearch.value == "")
	{
		alert("-- Enter Search keyword")
		return false;
	}
	else
		return true;
}
function showhidePanel(objDiv)
{
	var divsearch  = document.getElementById(objDiv).style;
	if(divsearch.display == "none")
		divsearch.display = "block";
	else
		divsearch.display = "none";
		
	return false;
}

function displayColumns(objDiv, fromList, txtfrom, toList, txtTo)
{
	var divcolumn  = document.getElementById(objDiv).style;
	if(divcolumn.display == "none")
		divcolumn.display = "block";					
	else
		divcolumn.display = "none";					
		
    // Assign default values.
    AssignObjValue(fromList, txtfrom, toList, txtTo)
	return false;
}

// This function will count character for text area.
function CharacterCount(obj, total)
{
	if(total == null) total = 500;
	var len = obj.value.length;
	var newdiv;
	
	if(document.getElementById("note" + obj.id) == null){
		newdiv = document.createElement('div');
		newdiv.id = "note" + obj.id;
	    obj.parentNode.appendChild(newdiv);
	}
	else{
		newdiv = document.getElementById("note" + obj.id);
	}
	
	if(len == 0){
	    obj.parentNode.removeChild(newdiv);
    }
		
	if(len >= total){
		var temp = obj.value.substring(0, total)
		obj.value = temp;
		newdiv.innerHTML = "You have reached maximum characters limit of <b>" + total + "</b>."
	}
	else{
		newdiv.innerHTML = "Your maximum characters limit is: <b>" + total + "</b>. Current character count: <b>" + len + "</b>.";
	}
}

// Validating Payment Field at Pro Method of Payment.
function mod10( cardNumber ) 
{ 
	// LUHN Formula for validation of credit card numbers.
	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 expired( month, year ) 
{
   	var now = new Date();	// this function is designed to be Y2K compliant.
   	var expiresIn = new Date(year,month,0,0,0);		// create an expired on date object with valid thru expiration date
   	expiresIn.setMonth(expiresIn.getMonth()+1);		// adjust the month, to first day, hour, minute & second
                                                    //	of expired month
   	if(now.getTime() < expiresIn.getTime()) 
   	{
   	    return false;
   	}
    return true;	// then we get the miliseconds, and do a long integer comparison
}

function validateCard(cardNumber,cardType,cardMonth,cardYear,cardCode) 
{
   
    if(cardType.length == 0)
	{
	    alert("Please Select Card Type.");
	    return false;
	}
  	if( cardNumber.length == 0 ) 
	{
		//most of these checks are self explanitory
    	alert("Please Enter Valid Card Number.");
    	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' ) 
		{
        	alert("Please Enter Valid Card Number. Use only digits. do not use Spaces or Hyphens.");
        	return false;
        }
    }
    
	var length = cardNumber.length;		//perform card specific length and prefix tests
	
   	switch( cardType ) 
	{
    	case 'a':
			if( length != 15 ) 
			{
             	alert("Please Enter Valid American Express Card Number.");
                return false;
            }
            var prefix = parseInt( cardNumber.substring(0,2));
   			if( prefix != 34 && prefix != 37 ) 
			{
            	alert("Please Enter Valid American Express Card Number.");
                return false;
            }
        break;
        case 'd':
			if( length != 16 ) 
			{
             	alert("Please Enter Valid Discover Card Number.");
                return false;
            }
            var prefix = parseInt( cardNumber.substring(0,4));
			if( prefix != 6011 ) 
			{
            	alert("Please Enter Valid Discover Card Number.");
                return false;
            }
        break;
        case 'm':
			if( length != 16 ) 
			{
             	alert("Please Enter Valid MasterCard Number.");
                return false;
            }
            var prefix = parseInt( cardNumber.substring(0,2));
			if( prefix < 51 || prefix > 55) 
			{
            	alert("Please Enter Valid MasterCard Number.");
                return false;
            }
        break;
        case 'v':
			if( length != 16 && length != 13 ) 
			{
            	alert("Please Enter Valid Visa Card Number.");
                return false;
            }
            var prefix = parseInt( cardNumber.substring(0,1));
			if( prefix != 4 ) 
			{
            	alert("Please Enter Valid Visa Card Number.");
                return false;
            }
        break;
    }
    
	if( !mod10( cardNumber ) ) 
	{ 	
		// run the check digit algorithm
        alert("Sorry! This is not a Valid Credit Card Number.");
        return false;
    }
    if( expired( cardMonth, cardYear ) ) 
	{	
		// check if entered date is already expired.
        alert("Sorry! The Expiration Date you have Entered would make this Card Invalid.");
        return false;
    }
    if (cardCode == "")
	{
		alert("Please Eneter Card Code.");
        return false;
	}
	else
	{
		 for( var i = 0; i < cardCode.length; ++i ) 
		{	
			var c = cardCode.charAt(i);
			if( c < '0' || c > '9' ) 
			{
				alert("Please Enter Valid Card Code Number. Use only digits.");
				return false;
			}
		}
	}
	return true;	// at this point card has not been proven to be invalid
}

// Email subscription
function CheckEmail(){
    var email = document.getElementById("txtNewsltrEmail").value;
    if(!isEmail(document.getElementById('txtNewsltrEmail'))){ return false; }
        
    document.getElementById('divLoading').style.visibility = 'visible';
    document.getElementById('divLoading').style.display = 'block';
    
    jQuery("#emailinusebox").load( _siteUrl + "EmailCheck.ashx?Email=" + email, function(){
        var res='0';
        var resval_1 = document.getElementById("emailinusebox").innerText;
        var resval_2 = document.getElementById("emailinusebox").innerHTML;
        //alert(resval_1);alert(resval_2);
        if(resval_1 != '' && resval_1 != null && typeof(resval_1) != "undefined") { res=resval_1; }
        else if(resval_2 != '' && resval_2 != null && typeof(resval_2) != "undefined") { res=resval_2; }
        //alert(res); 
        if(res=='0' || res=='') {
            alert('Sorry, your email address is already subscribed.');
            document.getElementById('divLoading').style.visibility = 'hidden';
            document.getElementById('divLoading').style.display = 'none';
            return false;
        }
        else{
            window.location = _siteUrl + 'thank-you/newsletter.aspx';
        }
        document.getElementById("emailinusebox").innerText='0';
        document.getElementById("emailinusebox").innerHTML='0';
    });
    return false;
}

// Function isEmail: Validates if the value of 'IsItReal' is a valid email address
function isEmail(IsItReal){
	if (IsItReal.value != ""){
		var valEmail = IsItReal.value;
		var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if(reg.test(valEmail))
			return true;
		else{
			alert('- Invalid email address.')
			IsItReal.focus();
			return false;
		}
	}
	else{
		alert('- Please enter valid email address.')
		IsItReal.focus();
		return false;
	}
}

//Provides the Default text of a textbox and when focus is lost the Default text appears
function textChanger(obj, text) {
    if(text == null){text = ''}
    if(obj.value == '')
        obj.value = text;
    else if(obj.value.toLowerCase() == text.toLowerCase())
        obj.value = '';
    else if(obj.value != text)
        return;
}

//-->