﻿/// <reference name="MicrosoftAjax.js" assembly="System.Web.Extensions" />

Type.registerNamespace("Finatica");
Type.registerNamespace("Finatica.Common");


function validateCheckBox(checkBoxId,msgDivId)
{
	var isValid = $get(checkBoxId).checked;
	showMsgDiv(msgDivId,isValid);
	return isValid;
}

Finatica.Common.ValidatePageName = function(pageName)
{
	var regExp = /^[-a-zA-Z0-9]+$/;
	return regExp.test(pageName);
}

function validateTextBox(textBoxId,msgDivId)
{
	var isValid = null;
	if(Finatica.Common.InputManagerID)
	{
		var inputManager = $find(Finatica.Common.InputManagerID);
		if(inputManager!=null)
		{
			var tb = inputManager.get_targetInput(textBoxId);
			if(tb!=null)
				isValid = tb.get_value().toString().length > 0;
		}
	}

	if (isValid == null) {
	    var tb = $find(textBoxId);
	    if (tb != null && tb.constructor.__typeName.indexOf('Telerik.Web.UI.') != -1) {
	        isValid = tb.get_value().toString().length > 0
	    }
	}
	
	if(isValid == null)
		isValid = jQuery.trim($get(textBoxId).value).length > 0;
	

	showMsgDiv(msgDivId,isValid);
    return isValid;
}

function validatePasswords(passId,passId2,errorDivId)
{
	var pass = $get(passId);
	var pass2 = $get(passId2);	
	var result = pass.value == pass2.value;
	showMsgDiv(errorDivId,result);
	return result;
}

function validateDropDown(controlToValidate, msgDivId)
{
	var dropDown = $get(controlToValidate);
		
	if( dropDown != undefined)
	{
		var index = dropDown.selectedIndex;		
		var emptyGuid = '00000000-0000-0000-0000-000000000000';		
		var isValid = dropDown.options[index].value !=emptyGuid;
		showMsgDiv(msgDivId,isValid);
		return isValid;
	}else
		return false; 	
}

function validateHDictionary(controlToValidate, msgDiv)
{	
	var regHidden = $get(controlToValidate);
	var isValid = regHidden.value.length >0;
	showMsgDiv(msgDiv,isValid);
	return isValid;
}

function validateUpload(uploadId,msgDiv)
{
	var upload = $find(uploadId);
	var isValid = upload.validateExtensions();
	showMsgDiv(msgDiv,isValid);
	return isValid;
}

function validateSite(siteId,msgDiv)
{
	var myregexp = new RegExp(); 
	myregexp.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");	
	var site = $get(siteId);
	if(site.value.length>0 && site.value != "http://")
	{
		var isValid = myregexp.test(site.value);
		showMsgDiv(msgDiv,isValid);
	} return true;
}

function validateEmail(emailId,msgDiv)
{
	var myregexp =  /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
	var email =$get(emailId);
	if (email.value.length >0 )
	{
		var isValid =myregexp.test(email.value);		
		showMsgDiv(msgDiv,isValid);		
		return isValid;	
	} return true;
}

function validateEmailString(email,msgDiv)
{
	var myregexp =  /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
	if (email.length > 0 )
	{
		var isValid = myregexp.test(email);		
		showMsgDiv(msgDiv,isValid);		
		return isValid;	
	} 
	return true;
}

function stringNotEmpty(str,msgDiv)
{
	var isValid = str != null && str.toString().length > 0 &&  str.toString() != ' ';
	if(msgDiv!=null)
	 showMsgDiv(msgDiv,isValid);
	return isValid;
}

function showMsgDiv(msgDivId,isValid)
{
	var div = $get(msgDivId);
	if(div != null)
		div.style["display"] = isValid ? "none" : "block";	
}



Finatica.Common.GetInputManagerValue = function(id)
{
	if(!Finatica.Common.InputManagerID)
	{
		alert('Finatica.Common.InputManagerID not define');
		return null;
	}
	var inputManager = $find(Finatica.Common.InputManagerID);
	var value = inputManager.get_targetInput(id).get_value();
	return value;
}

