/**************************************************************************************************
| Software Name        : Oxidev Video Solution
| Software Author      : John Smith
| Address			   : Oxidev Interactive
|						 123 Main Street, Miami, FL 33333
| Website              : http://www.oxidev.com
|**************************************************************************************************
| This file contains the functions for input data
| validation at client side with the help of java script.
|**************************************************************************************************
| Copyright (c) 2006-2007 Oxidev.com. All rights reserved.
**************************************************************************************************/

	
	/**
	*	this function is used to validate vendor Add/Edit form
	**/
	function validateVendorForm(frmName)
	{
		if(is_empty(frmName.name.value))
		{
			alert("Please Enter Vendor Name.");
			frmName.name.focus();
			return false;
		}
		return true;
	}//end of function
	
	/**
	* show hide category corresponding to Main Category of Category form
	**/
	function checkCategory(cat)
	{
		if(cat!="")
		{
			if(cat=="Sub1")
			{
				document.getElementById("mainCat").style.display="block";	
			}
			else
			{
				document.getElementById("mainCat").selectedIndex=0;
				document.getElementById("mainCat").style.display="none";
			}
			if(cat=="Sub2")
			{  
			    document.getElementById("mainCat").selectedIndex=0;
				document.getElementById("subCat_1").selectedIndex=0;
				document.getElementById("mainCat").style.display="block";
				document.getElementById("subCat_1").style.display="block";	
			}
			else
			{
				document.getElementById("subCat_1").selectedIndex=0;
				document.getElementById("subCat_1").style.display="none";
			}
			if(cat=="Sub3")
			{
				document.getElementById("mainCat").selectedIndex=0;
				document.getElementById("subCat_1").selectedIndex=0;
				document.getElementById("subCat_2").selectedIndex=0;
				
				document.getElementById("mainCat").style.display="block";
				document.getElementById("subCat_1").style.display="block";
				document.getElementById("subCat_2").style.display="block";	
			}
			else
			{
				document.getElementById("subCat_2").selectedIndex=0;
				document.getElementById("subCat_2").style.display="none";
			}
		}
	}//End of function
	
	
	/**
	*	this function is used to validate Category Add/Edit form
	**/
	function validateCategoryForm(frmName)
	{
		var returnVal =true;
		if(frmName.category.value=="")
		{
			err = "Please Select Category";
			frmName.category.focus();
			returnVal = false;
		}
		if(frmName.category.value=="Sub1")
		{
			if(frmName.maincategory.value == "")
			{
				err =err+"\nPlease Select Main Category";
				frmName.maincategory.focus();
				returnVal = false;
			}
		}
		if(frmName.category.value=="Sub2")
		{
			if(frmName.maincategory.value == "")
			{
				err =err+"\nPlease Select Main Category";
				frmName.maincategory.focus();
				returnVal = false;
			}
			if(frmName.sub1Category.value == "")
			{
				err =err+"\nPlease Select Sub1 Category";
				frmName.parentCategory_1.focus();
				returnVal = false;
			}
		}
		if(frmName.category.value=="Sub3")
		{
			if(frmName.maincategory.value == "")
			{
				err =err+"\nPlease Select Main Category";
				//frmName.maincategory.focus();
				returnVal = false;
			}
			if(frmName.sub1Category.value == "")
			{
				err =err+"\nPlease Select Sub1 Category";
				//frmName.parentCategory_1.focus();
				returnVal = false;
			}
			if(frmName.sub2Category.value=="")
			{
				err =err+"\nPlease Select Sub2 Category";
				//frmName.parentCategory_2.focus();
				returnVal = false;
			}
		}
	
		/*if(is_empty(frmName.desc.value))
		{
			alert("Please Enter Category Description");
			frmName.desc.focus();
			return false;
		}
		if(is_empty(frmName.picture.value))
		{
			alert("Please Add Category Image");
			frmName.picture.focus();
			return false;
		}*/
		
		
		if(!returnVal){
			alert("Please correct the following \n\n"+err);
			return false;
		}else{
		 return true;
		}
	}//end of function
	
	//function to submit Edit Video form for Admin
	function getUserRequest()
	{
		var frmObj = document.edit_video;
		frmObj.hdnRequest.value="User Request";
		frmObj.submit();
	}
	/**
	*	Trim field value from Left and Right 
	*/
	function trim(inputString){
	   inputString=inputString.replace(/^\s+/g,"");
	   inputString=inputString.replace(/\s+$/g,"");
	   return inputString;
	}// Ends the "trim" function
	/**
	*	this function checks the given string is empty or not
	*	and return true or false accordingly.
	*/
	function is_empty(str){
  		 str=trim(str);
		 if ((str.length==0)||(str==null))
			return true;
		 return false;
	}// End of is_empty Function
	/**
	*	this function checks the email format is correct or not
	*	and return true or false accordingly.
	*/
	function is_email(email){
		if(!email.match(/^[A-Za-z0-9\._\-+]+@[A-Za-z0-9_\-+]+(\.[A-Za-z0-9_\-+]+)+$/))
			return false;
		return true;
	}// End of is_email Function
	
    /**
	*  Function/Method Name : fnc_checkSpecialChar
	*  @created by  		: John Smith
	*  @created on 			: 27 Aug 2008
	*  @description 		: check special characters of an input field
	*  @param				: strObj- input field object
	*  @return				: return true on sucsess and alert on failure
	*  @usage				: onkeyup="fnc_checkSpecialChar(this);"	
	**/
	function fnc_checkSpecialChar(strObj)
	{ 
	   var invalidChars = './\:_,;* !#&$%|*()><{}[]^`~="?@';
	   var error = "";
	   var sInString = strObj.value;
	   //sInString = sInString.toLowerCase(); // string in lower case
	   
	   for(i=0; i<strObj.value.length; i++)
		{ 
			//check for invalid characters 	
		  for(j=0;j<invalidChars.length;j++)
		  { 
			  if(strObj.value.charAt(i)==invalidChars.charAt(j))
			   { 
				   error += "this field can not contain white spaces ";
				   error += " OR any of the following special characters:";
				   error += ' \n\n\t ./\:_,;* !#&$%|*()><{}[]^`~="?@';
				   //strObj.focus();
				   strObj.style.background = '#FFFFCC';
					alert(error);
					sInString = sInString.replace(/\s/g, "");
					strObj.value= sInString;
					return false;
					strObj.focus();
				    break;
			   }
			   else
			   {
				   //continue;
				   strObj.style.background = 'White';
				   sInString = sInString.replace( /^\s+/g, "" );// strip leading whitespace
				   sInString = sInString.replace( /\s+$/g, "" );// strip trailing whitespace
				   //sInString = sInString.toLowerCase(); // string in lower case
				   strObj.value= sInString;
				} 
		  }  
	   }
	   return true; 
	}
	/**
	*  Function/Method Name : fnc_validateChar
	*  @created by  		: John Smith
	*  @created on 			: 27 Aug 2008
	*  @description 		: validate string for special characters
	*  @param				: string parameter (eg: value of text field)
	*  @return				: true- if no special characters found in string, flase otherwise 	
	**/
	function fnc_validateChar(strObj)
	{ 
	   var invalidChars = './\:,_;* !#&$%|*()><{}[]^`~="?@';
	   var error = "";
	  
	   for(i=0; i<strObj.length; i++)
		{ 
			//check for invalid characters 	
		  for(j=0;j<invalidChars.length;j++)
		  { 
			  if(strObj.charAt(i)==invalidChars.charAt(j))
			   { 
				   return false;
				   break;
			   }
			   else
			   {
				   continue;
			   } 
		  }  
	   }
	   return true; 
	}
	/**
	*	this function is used to validate Send to frien form
	**/
	function validateSendToFriend()
	{
		var frmName = document.sendvideo;
		if(is_empty(frmName.receiverName.value))
		{
			alert("Please Enter Receiver Name.");
			frmName.receiverName.focus();
			return false;
		}
		if(is_empty(frmName.receiverEmail.value))
		{
			alert("Please Enter Receiver Email Address.");
			frmName.receiverEmail.focus();
			return false;
		}
		if(!is_email(frmName.receiverEmail.value)){
			alert("Please Enter Valid Email Address.");
			frmName.receiverEmail.focus();
			return false;
		}
		//alert('submit');
		
		
		var http_request = false;

		if (window.XMLHttpRequest) { // Mozilla, Safari,...

			try {

				http_request = new XMLHttpRequest();

			}

			catch (e) {

			}

		}

		else if (window.ActiveXObject) { // IE

			try {

				http_request = new ActiveXObject("Msxml2.XMLHTTP");

			}

			catch (e) {

				try {

					http_request = new ActiveXObject("Microsoft.XMLHTTP");

				}

				catch (e) {
				}

			}

		}

		if (!http_request) {

			Modal_output('Unable to send form.');

		} else {
		
			http_request.onreadystatechange = function()

			{
				if (http_request.readyState == 4)

				{

					if (http_request.status == 200)

					{

						if (http_request.responseText != 0)

						{
//							var outp = http_request.responseText;
							Modal_output("<div class='formStyles'><label>Your message has been sent successfully.</label></div>");
							
							return false;

						}

					}

				}

			};

			http_request.open("POST", "http://www.woopid.com/send_to_friend.php", true);
			
		    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		    http_request.setRequestHeader("Content-length", 5);
		    http_request.setRequestHeader("Connection", "close");

		    var senderName = escape(document.getElementById('sname').value);
			var senderEmail = escape(document.getElementById('semail').value);
			var receiverName = escape(document.getElementById('rname').value);
			var receiverEmail = escape(document.getElementById('remail').value);
			var message = escape(document.getElementById('mess').innerHTML);
			var hdnVideoURL = escape(document.getElementById('hdnVideoURL').value);
			
			http_request.send('btnSend=1&senderName='+senderName+'&senderEmail='+senderEmail+'&receiverName='+receiverName+'&receiverEmail='+receiverEmail+'&message='+message+'&hdnVideoURL='+hdnVideoURL);
			return false;			
		}

		
		
		
		
		
		
		
		return false;
	}//end of function
	
	function Modal_output(mess) {
		document.getElementById('formStyles').innerHTML = mess;
	}
	
	/* Function for Invite Section */
	
	/**
	* Function is used to fetch contacts and submit my profile form
	**/
	function fetchContacts()
	{
		var frmObj = document.myprofile;
		if(is_empty(frmObj.addimport_emailid.value))
		{
			alert("Please Enter Your Email ID.");
			frmObj.addimport_emailid.focus();
			return false;
		}
		if(is_empty(frmObj.addimport_password.value))
		{
			alert("Please Enter Your Password.");
			frmObj.addimport_password.focus();
			return false;
		}
		frmObj.update_profile.value='Fetch Contacts';
		frmObj.submit();
	}
	/**
	* Function is used to send invitation and submit my profile form
	**/
	function sendInvitation()
	{
		var frmObj = document.myprofile;
		frmObj.update_profile.value='Invite Friends';
		/*if(is_empty(frmObj.invite_emailid.value))
		{
			alert("Please Enter Email ID.");
			frmObj.invite_emailid.focus();
			return false;
		}*/
		/*if(is_empty(frmObj.invite_emailid1.value) && is_empty(frmObj.invite_emailid2.value) && is_empty(frmObj.invite_emailid3.value) && is_empty(frmObj.invite_emailid4.value) && is_empty(frmObj.invite_emailid5.value) && is_empty(frmObj.invite_emailid6.value))
		{
			alert("Please Provide At Least One Email Address.");
			frmObj.invite_emailid1.focus();
			return false;
		}*/
		if(is_empty(frmObj.invite_emailid1.value))
		{
			alert("Please Provide At Least One Email Address.");
			frmObj.invite_emailid1.focus();
			return false;
		}
		if(!is_email(frmObj.invite_emailid1.value))
		{
			alert("Please Enter Valid Email Address.");
			frmObj.invite_emailid1.focus();
			return false;
		}
		if(!is_empty(frmObj.invite_emailid2.value))
		{
			if(!is_email(frmObj.invite_emailid2.value))
			{
				alert("Please Enter Valid Email Address.");
				frmObj.invite_emailid2.focus();
				return false;
			}
		}
		if(!is_empty(frmObj.invite_emailid3.value))
		{
			if(!is_email(frmObj.invite_emailid3.value))
			{
				alert("Please Enter Valid Email Address.");
				frmObj.invite_emailid3.focus();
				return false;
			}
		}
		if(!is_empty(frmObj.invite_emailid4.value))
		{
			if(!is_email(frmObj.invite_emailid4.value))
			{
				alert("Please Enter Valid Email Address.");
				frmObj.invite_emailid4.focus();
				return false;
			}
		}
		if(!is_empty(frmObj.invite_emailid5.value))
		{
			if(!is_email(frmObj.invite_emailid5.value))
			{
				alert("Please Enter Valid Email Address.");
				frmObj.invite_emailid5.focus();
				return false;
			}
		}
		if(!is_empty(frmObj.invite_emailid6.value))
		{
			if(!is_email(frmObj.invite_emailid6.value))
			{
				alert("Please Enter Valid Email Address.");
				frmObj.invite_emailid6.focus();
				return false;
			}
		}
		if(is_empty(frmObj.invite_message.value))
		{
			alert("Please Enter Message.");
			frmObj.invite_message.focus();
			return false;
		}
		//submit form to process
		else
		{
			frmObj.submit();
		}
	}//end of function
	
	/**
	* function is used validate company request tutorial form
	**/
	function validateReqTutCompany()
	{
		var frmObj = document.tutCompany;
		if(is_empty(frmObj.reqName.value))
		{
			alert("Please Enter Name.");
			frmObj.reqName.focus();
			return false;
		}
		if(is_empty(frmObj.reqCompany.value))
		{
			alert("Please Enter Company Name.");
			frmObj.reqCompany.focus();
			return false;
		}
		if(is_empty(frmObj.reqEmail.value))
		{
			alert("Please Enter Email Address.");
			frmObj.reqEmail.focus();
			return false;
		}
		if(!is_email(frmObj.reqEmail.value))
		{
			alert("Please Enter Valid Email Address.");
			frmObj.reqEmail.focus();
			return false;
		}
		if(is_empty(frmObj.reqPhone.value))
		{
			alert("Please Enter Phone Number.");
			frmObj.reqPhone.focus();
			return false;
		}
		if(!validatePhone(frmObj.reqPhone.value))
		{
			alert("Please Enter Valid Phone Number Format.");
			frmObj.reqPhone.focus();
			return false;
		}
		/*if (!frmObj.reqPhone.value.match(/^\d+$/))
		{
			alert("Please Enter Valid Phone Number.");
			frmObj.reqPhone.value="";
			frmObj.reqPhone.focus();
			return false;	
		}*/
			
		if(frmObj.reqDesc.value=='Write Here! Please be as detailed as possible' || is_empty(frmObj.reqDesc.value))
		{
			alert("Please enter brief description you are looking for.");
			frmObj.reqDesc.focus();
			return false;
		}
		return true;
	}//end of function
	
	/**
	* function is used validate personal request tutorial form
	**/
	function validateReqTutPersonal()
	{
		var frmObj = document.tutPersonal;
		if(is_empty(frmObj.mainCategory.value))
		{
			alert("Please Select General Category.");
			frmObj.mainCategory.focus();
			return false;
		}
		if(is_empty(frmObj.sub1Category.value))
		{
			alert("Please Select Sub1 Category.");
			frmObj.sub1Category.focus();
			return false;
		}
		if(is_empty(frmObj.sub2Category.value))
		{
			alert("Please Select Sub2 Category.");
			frmObj.sub2Category.focus();
			return false;
		}
		if(frmObj.reqDesc.value=='Write Here! Please be as detailed as possible' || is_empty(frmObj.reqDesc.value))
		{
			alert("Please enter brief description you are looking for.");
			frmObj.reqDesc.focus();
			return false;
		}
		return true;
	}//end of function
	
	/**
	* function is used validate requset tutorial payment form
	**/
	function validateTutorialPayment()
	{
		var frmObj = document.tutPayment;
		/*if(is_empty(frmObj.companyName.value))
		{
			alert("Please Enter Company Name.");
			frmObj.companyName.focus();
			return false;
		}*/
		if(is_empty(frmObj.firstName.value))
		{
			alert("Please Enter First Name.");
			frmObj.firstName.focus();
			return false;
		}
		if(is_empty(frmObj.lastName.value))
		{
			alert("Please Enter Last Name.");
			frmObj.lastName.focus();
			return false;
		}
		if(is_empty(frmObj.address1.value))
		{
			alert("Please Enter Address.");
			frmObj.address1.focus();
			return false;
		}
		if(is_empty(frmObj.city.value))
		{
			alert("Please Enter City.");
			frmObj.city.focus();
			return false;
		}
		if(is_empty(frmObj.state.value))
		{
			alert("Please Select State.");
			frmObj.state.focus();
			return false;
		}
		if(is_empty(frmObj.zip.value))
		{
			alert("Please Enter Zip Code.");
			frmObj.zip.focus();
			return false;
		}
		if(!is_empty(frmObj.zip.value) && frmObj.zip.value.length<5)
		{
			alert("Please Enter 5 Digit For Zip Code.");
			frmObj.zip.focus();
			return false;
		}
		if(is_empty(frmObj.cardType.value))
		{
			alert("Please Select Credit Card Type.");
			frmObj.cardType.focus();
			return false;
		}
		if(is_empty(frmObj.cardNumber.value))
		{
			alert("Please Enter Credit Card Number.");
			frmObj.cardNumber.focus();
			return false;
		}
		if (!frmObj.cardNumber.value.match(/^\d+$/))
		{
			alert("Please Enter Valid Credit Card Number.");
			frmObj.cardNumber.value="";
			frmObj.cardNumber.focus();
			return false;	
		}
		if(is_empty(frmObj.securityCode.value))
		{
			alert("Please Enter Card Verification Number.");
			frmObj.securityCode.focus();
			return false;
		}
		return true;
	}//end of function
	
	function validatePhone(strPhone)
	{
		var strPhoneArr = strPhone.split('-');
		if(strPhoneArr[0].length<3 || strPhoneArr[0].length>3)
		{
			return false;
		}
		if(strPhoneArr[1].length<3 || strPhoneArr[1].length>3)
		{
			return false;
		}
		if(strPhoneArr[2].length<4 || strPhoneArr[2].length>4)
		{
			return false;
		}
		if(strPhone.charAt(3)!="-" || strPhone.charAt(7)!="-")
		{
			return false;
		}
		return true;
	}
	
	/**
	*	this function is used to validate Send suggestion form of Request Tutorial page
	**/
	function validateSuggestion()
	{
		var frmName = document.sendSuggestion;
		if(is_empty(frmName.suggestion.value))
		{
			alert("Please Enter Suggestion.");
			frmName.suggestion.focus();
			return false;
		}
		return true;
	}//end of function
