﻿// hide on click

function HideOnOutsideClick(MainCtrl,Target)
{
    var t = document.getElementById(MainCtrl);  
    if(t.innerHTML.indexOf('"' + Target.target.id + '"')>=0 && Target.target.id!='')
    {   
        if($(MainCtrl).style.display=="none") 
            new Effect.SlideDown(MainCtrl); 
    }
    else
    {       
        if($(MainCtrl).style.display=="") 
            new Effect.SlideUp(MainCtrl); 
    }
}

// country state start here
    function ChangeState(CountryId){$(hdnStateID).value="0";$(dropStateAU).hide();$(dropState).hide();$(dropStateCA).hide();$(dropStateIN).hide();if(CountryId== 14 || CountryId ==  226 || CountryId== 37 || CountryId== 103){$(txtOtherState).hide();if($(dropCountry).value== 14)$(dropStateAU).show();else if($(dropCountry).value== 226) $(dropState).show();else if($(dropCountry).value== 37) $(dropStateCA).show();else $(dropStateIN).show();}else{$(txtOtherState).show();}}
function SetState(ctrl){$(hdnStateID).value=ctrl.value;if (ctrl.value==0)$(txtOtherState).show(); else $(txtOtherState).hide();}
// Country state end here

// ajax editor start here
function AjaxEditorMultiline(Ctrl,LoadingTextUrl,ExternalControl,SubmitUrl)
{    
 new Ajax.InPlaceEditor($(Ctrl), SubmitUrl, 
	                        {highlightcolor:'#ffffff',highlightendcolor:'#ffffff',
	                        externalControlOnly:true,
	                        externalControl:ExternalControl,
	                        loadTextURL:LoadingTextUrl,
	                        cols:90,rows:5,okText: ' Save ',
	                        ajaxOptions: {method: 'put'},
	                        textBetweenControls:' ',cancelButton:true}
	                    );
}

function AjaxEditor(Ctrl,LoadingTextUrl,ExternalControl,SubmitUrl)
{    
 new Ajax.InPlaceEditor($(Ctrl), SubmitUrl, 
	                        {highlightcolor:'#ffffff',highlightendcolor:'#ffffff',
	                        externalControlOnly:true,
	                        externalControl:ExternalControl,
	                        loadTextURL:LoadingTextUrl,  
	                        okText: ' Save ',
	                        ajaxOptions: {method: 'put'},
	                        textBetweenControls:' ',cancelButton:true}
	                    );
}
//// ajax editor ends here
function AjaxSetLoading(ctrl)
{
    $(ctrl).innerHTML= '<img src="' + AppPath +'images/spinner.gif"/>' ;
}

function trim(strComp)
{
	ltrim = /^\s+/
	rtrim = /\s+$/
	strComp = strComp.replace(ltrim,'');
	strComp = strComp.replace(rtrim,'');
	return strComp;
}
function isRequired(formObject, fieldDescription) 
{
	var tempFormValue;
	var strError ="";	
	var iFocus =-1;

	for (var i =0; i < isRequired.arguments.length; i=i+2)
	{
	    if(typeof(isRequired.arguments[i]) == 'undefined')
		{		    
		    return 'Error';
		}		
	    tempFormValue =trim(isRequired.arguments[i].value);

	    if (tempFormValue.length < 15)
	        {deleteLoop = tempFormValue.length}
	    else
	        {deleteLoop = 15}
	        
		for (var j = 0; j < deleteLoop; j++) 
		{
		    tempFormValue = tempFormValue.replace(/ / , "");
		}

	    if (tempFormValue.length == 0)
		{
		    strError = strError+  "<br/>" +isRequired.arguments[i+1] ;
		    isRequired.arguments[i].className="ValidationErr";		    
		    if (iFocus == -1)
			    iFocus = i;
		}
		else
		{
		    isRequired.arguments[i].className="";		    
		}
	}

	if (strError.length != 0)
	{				
		return strError;
	}
	else
		return strError;
}

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 '';
		else
		{
			return 'Invalid email address';
		}
	}
	return'';	
}

function showimage(Obj,dest)
{   
    //checking is image or not        
    if(isImage(Obj))
    {	    
	    if (Obj.value!='')
	    {
    	    var path = new String(Obj.value);
            path = path.replace("\\","/");            
            path = "file:///" + path;            
            if(document.getElementById){                
                dest.setAttribute("src",path);	}
	    } 
	    else
	    {
		    dest.src="Source/MemberImages/" + "noimage.jpg";
	    }
    }
    else
    {
	    dest.src="Source/MemberImages/" + "noimage.jpg";
    }         
}
function OtherCountryState(ObjSelCountry,ObjSelState,ObjtxtState)
{
    if($(ObjSelCountry).value == 225)
    {	    
	    $(ObjSelState).disabled = false;
	    $(ObjSelState).value = "-1";	    
	    $(ObjtxtState).style.display = "none";
    }
    else
    {
	    $(ObjSelState).disabled = true;
	    $(ObjSelState).value = "0";
	    $(ObjtxtState).value = "";
	    $(ObjtxtState).style.display = "inline";
    }	    
}
function OtherStateOP(ObjSelState,ObjtxtState)
{   
    if($(ObjSelState).value == 0)
    {	    
	    $(ObjtxtState).style.display = "inline";
    }
    else
    {
        $(ObjtxtState).value = "";
	    $(ObjtxtState).style.display = "none";
    }	    
}
function CheckState(oSrc,args)//ObjSel,Objtxt,
{
    var OtherObj = oSrc.controltovalidate.replace("Sel","htxtOther");
    var ObjSel = document.getElementById(oSrc.controltovalidate);
    var Objtxt = document.getElementById(OtherObj);    
    if(ObjSel.value == 0){
        if (Objtxt.value == '')
            args.IsValid=false;
    }
    else if (ObjSel.value == '-1'){
            args.IsValid=false;   
    }          
    else{
        args.IsValid=true;}
}
function formatPhone(source, style)
{
	var realNumber = '';
	var pFormat = '';
	for(var i = 0; i < source.value.length; i++){
		if(isNaN(source.value.charAt(i)) == false && source.value.charAt(i) != ' '){realNumber += source.value.charAt(i);}
	}
	if(style == null) style = 'US';
	if(style == 'US'){
		//document.getElementById("divTest").innerHTML = realNumber.length + "<br />" + realNumber;
		for(var i = 0; i < realNumber.length; i++){
			switch (i){
				case 0:
					pFormat += "(" + realNumber.charAt(i); break;
				case 3:
					pFormat += ") " + realNumber.charAt(i); break;
				case 6:
					pFormat += "-" + realNumber.charAt(i); break;
				case 10:
					pFormat += "-" + realNumber.charAt(i); break;
				case 15:
					pFormat = pFormat; break;
				default:
					if(i < 15)
						pFormat += realNumber.charAt(i); 
					break;
			}
		}
	}
	else{
		for(var i = 0; i < realNumber.length; i++){
			switch (i){
				case 0:
					pFormat += "+" + realNumber.charAt(i); break;
				case 3:
					pFormat += "-" + realNumber.charAt(i); break;
				case 6:
					pFormat += "-" + realNumber.charAt(i); break;
				case 9:
					pFormat += "-" + realNumber.charAt(i); break;
				case 13:
					pFormat += "-(" + realNumber.charAt(i); break;
				case 17:
					pFormat += realNumber.charAt(i) + ")"; break;
				//case 18:
				//	pFormat = pFormat; break;
				default:
					if(i < 18)
						pFormat += realNumber.charAt(i); 
					break;
			}
		}
	}
	source.value = pFormat;
}

function validatePhone(source, style)
{
	if(style == null) style = 'US';
	if(style == 'US'){
		if(!(/^(\([1-9]\d{2}\)\s?\d{3}\-\d{4})+(-\d{1,5})?$/).test(source.value))
		{
			alert("Invalid US Phone Number.");
			source.focus();
			return false;
		}
	}
	else
	{
		if(!(/^(\+\d{1,3}-\d{3}-\d{3}-\d{4})+(-\(\d{1,5}\))?$/).test(source.value))
		{
			alert("Invalid Phone Number.");
			source.focus();
			return false;
		}
	}
}
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>.";
	}
}