﻿var EMAIL_REGEX = /^(\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+)?$/;
var COUNTRY_CODE = /^[0-9 ]+$/;
var COUNTRY_CODE2 = /^[0-9 ]{4,}$/;

function OnSavePaymentClicked(dropDownCCType, textBoxCCFirstName, textBoxCCLastName, textBoxCCNumber, textBoxCCSecNumber,
textBoxCCExpMonth, textBoxCCExpYear, shippingRadioGroup, billingRadioGroup, 
cellShipping, cellBilling,
requiredMessage, notNumberMessage, chooseCardTypeMessage, 
choosePaymentMethodMessage, wrongMonthMessage, wrongYearMessage, selectAnAddressMessage)
{
   var valid = true;
   
   valid = ValidateCCType(dropDownCCType, chooseCardTypeMessage) && valid; 
   valid = ValidateText(textBoxCCFirstName, requiredMessage) && valid; 
   valid = ValidateText(textBoxCCLastName, requiredMessage) && valid; 

   valid = ValidateNumberTextBox(textBoxCCNumber, requiredMessage, notNumberMessage) && valid;
   valid = ValidateNumberTextBoxFixLength(textBoxCCSecNumber, requiredMessage, notNumberMessage, 3) && valid;
   valid = ValidateNumberTextBox(textBoxCCExpMonth, requiredMessage, notNumberMessage) && valid;
   valid = ValidateNumberTextBoxFixLength(textBoxCCExpYear, requiredMessage, notNumberMessage, 4) && valid;

   valid = ValidateRadioGroupSelection(shippingRadioGroup, cellShipping, selectAnAddressMessage) && valid;
   valid = ValidateRadioGroupSelection(billingRadioGroup, cellBilling, selectAnAddressMessage) && valid;
     
  return valid; 
}

function CheckPrimaryAddress(pickAddressRadioGroup,cellPickAddress,selectAnAddressMessage)
{
   var valid = ValidateRadioGroupSelection(pickAddressRadioGroup,cellPickAddress,selectAnAddressMessage);
   
   return valid;
}

function ValidateRadioGroupSelection(radioGroupID, cellContainerID, errorMessage)
{
   var groupName = radioGroupID;

   while (groupName.search("_") != -1)
   {
      groupName = groupName.replace("_", "$");
   }
   
   var radioGroup = document.forms[0].elements[groupName];
   var i=0;
   
   if (radioGroup != null)
   {
      if (radioGroup.length > 0)
      {
         for (var i=0; i<radioGroup.length; i++)
         {
            if (radioGroup[i].checked)
            {
               RemoveErrorCssClass(cellContainerID);
               $get(cellContainerID).title = "";
               return true;
            }
      }
      }
      else
      {
         if (radioGroup.checked)
         {
            RemoveErrorCssClass(cellContainerID);
            $get(cellContainerID).title = "";
            return true;
         }
      }
   }
   
   if ($get(cellContainerID) != null)
   {
      SetErrorCssClass(cellContainerID);
      $get(cellContainerID).title = errorMessage;
   }
   return false;
}
            
function OnSaveUserProfileClicked(textFirstName, textLastName, textEmail, textBirthDate, textPassword, textUsername,
   textPasswordCheck, requiredMessage, wrongEmailAddressMessage, 
   passwordsDoNotMatchMessage, wrongDateFormatMessage, wrongDayMonthYearMessage,
   skipPassword,textZip)
{
   var valid = true;
   valid = ValidateText(textFirstName, requiredMessage) && valid;
   valid = ValidateText(textLastName, requiredMessage) && valid;
   valid = ValidateText(textUsername, requiredMessage) && valid;
   if(textZip != null) valid = ValidateText(textZip, requiredMessage) && valid;
   valid = ValidateIsRequiredRegexText(textEmail, EMAIL_REGEX, true, requiredMessage, wrongEmailAddressMessage) && valid;
   if (skipPassword == 'false')
   {
      valid = ValidateText(textPassword, requiredMessage) && valid;
      valid = CheckPassword(textPassword, textPasswordCheck, passwordsDoNotMatchMessage) && valid;
   }
   valid = ValidateDate(textBirthDate, false, requiredMessage, wrongDateFormatMessage, wrongDayMonthYearMessage) && valid;
      
   return valid;
}

function OnSaveCategoryClicked(textName,textEnglishName,requiredMessageName,requiredMessageEnglishName,labelValidationSummaryId)
{
   var validName = true;
   var validEnglishName = true;
   var requiredMessage = '';
   
   validName = ValidateText(textName,requiredMessageName);
   validEnglishName = ValidateText(textEnglishName,requiredMessageEnglishName);
   
   if(!validName)
      requiredMessage = requiredMessage.concat('<br/>',requiredMessageName);
   if(!validEnglishName) 
      requiredMessage = requiredMessage.concat('<br/>',requiredMessageEnglishName);
   $get(labelValidationSummaryId).innerHTML = requiredMessage;
      
   return (validName && validEnglishName);
}

function CheckAddress(dropDownCountries,dropDownState,textState,requiredMessage)
{
   var valid = true;
   var indexCountries = $get(dropDownCountries).selectedIndex;
   var indexState = $get(dropDownState).selectedIndex;
   
   if($get(dropDownCountries).options[indexCountries].value == 'Choose One') 
   {
      valid = false;
      $get(dropDownCountries).title = requiredMessage;  
      SetErrorCssClass(dropDownCountries);
   }
   else
      RemoveErrorCssClass(dropDownCountries);
   
   if($get(dropDownCountries).options[indexCountries].value == 'United States of America')
      {
         if($get(dropDownState).options[indexState].value == 'NO_VALUE')
            {
               valid = false;
               $get(dropDownState).title = requiredMessage; 
               SetErrorCssClass(dropDownState);
            }
         else
             RemoveErrorCssClass(dropDownState);
      }
   else
      valid = ValidateText(textState,requiredMessage) && valid;
      
  return valid;   
}

function Evaluate(firstValue,secondValue)
{
 return firstValue && secondValue;
}

function CleanErrors(labelErrorsId)
{
   labelErrors = $get(labelErrorsId);
   if(labelErrors != null) labelErrors.innerHTML = "";
}
 
function OnSendMessageClicked(textFromName, textFromMail, textToName, textToMail, skipFromFields, skipToFields, requiredMessage, wrongEmailAddressMessage)
{
   var valid = true;

   if (skipFromFields == "false")
   {
      valid = ValidateText(textFromName, requiredMessage) && valid;
      valid = ValidateIsRequiredRegexText(textFromMail, EMAIL_REGEX, true, requiredMessage, wrongEmailAddressMessage) && valid;
   }
   if (skipToFields == "false")
   {
      valid = ValidateText(textToName, requiredMessage) && valid;
      valid = ValidateIsRequiredRegexText(textToMail, EMAIL_REGEX, true, requiredMessage, wrongEmailAddressMessage) && valid;
   }
   
   return valid;
}

function ValidateMailContent(textSubject,textContent, requiredMessage)
{
   var valid = true;
   
   valid = ValidateText(textSubject,requiredMessage) && valid;
   valid = ValidateText(textContent,requiredMessage) && valid;
   
   return valid;
}

function SetErrorCssClass(control)
{
   if (!Sys.UI.DomElement.containsCssClass($get(control), 'ValidatorHighlight'))
   {
      //Sys.UI.DomElement.addCssClass($get(control), 'ValidatorHighlight');
      $get(control).className = 'ValidatorHighlight';
   }
}

function RemoveErrorCssClass(control)
{
   //Sys.UI.DomElement.removeCssClass($get(control), 'ValidatorHighlight');
   $get(control).className = '';
}

function ValidateText(control, requiredMessage)
{
   if ($get(control).value == null || $get(control).value.trim().length == 0)
   {
      SetErrorCssClass(control);
      $get(control).title = requiredMessage;      
      return false;
   }
   RemoveErrorCssClass(control);
   $get(control).title = "";
   return true;
}

function CheckPassword(control1, control2, passwordsDoNotMatchMessage)
{
   if ($get(control1).value == null || $get(control1).value.trim().length == 0)
   {
      SetErrorCssClass(control1);
      return false;
   }
   
   if ($get(control2).value == null || $get(control2).value.trim().length == 0)
   {
      SetErrorCssClass(control2);
      return false;
   }
      
   if (!($get(control2).value.trim() > "") || !($get(control1).value == $get(control2).value))
   {
      SetErrorCssClass(control1);
      SetErrorCssClass(control2);
      $get(control2).title = passwordsDoNotMatchMessage;
      return false;
   }
   
   RemoveErrorCssClass(control1);
   RemoveErrorCssClass(control2);
   $get(control2).title = "";
   return true;
}

function ValidateCountry(controlInnerList, chooseCountryMessage)
{
   return ValidateDDL(controlInnerList, chooseCountryMessage);
}

function ValidateCCType(typesList, chooseCardTypeMessage)
{
   return ValidateDDL(typesList, chooseCardTypeMessage);
}

function ValidateDDL(controlList, message)
{
   var ddlOptions = $get(controlList).options;
   var index = $get(controlList).selectedIndex;
   var value = (index == 0) ? 'Choose One' : ((ddlOptions[index].value > "") ? ddlOptions[index].value : ddlOptions[index].text)
   if (value == 'Choose One')
   {
      SetErrorCssClass(controlList);
      $get(controlList).title =  message;
      return false;
   }
   RemoveErrorCssClass(controlList);
   $get(controlList).title =  "";
   return true;
}

function ValidateDropDownList(dropDownListId, notSelectedValue, message)
{
   var dropDownList = $get(dropDownListId);
   var options = dropDownList.options;
   var selectedIndex = dropDownList.selectedIndex;
   
   if(options[selectedIndex].value == notSelectedValue)
   {
      SetErrorCssClass(dropDownListId);
      dropDownList.title =  message;
      return false;
   }
   RemoveErrorCssClass(dropDownListId);
   dropDownList.title =  "";
   return true;
}

function ValidateIsRequiredRegexText(control, regex, isRequired, requiredMessage, wrongRegexMessage)
{
   if (isRequired && !ValidateText(control))
   {
      SetErrorCssClass(control);
      $get(control).title = requiredMessage;
      return false;
   }
   else
   if (ValidateText(control) && $get(control).value.match(regex) == null)
   {
      SetErrorCssClass(control);
      $get(control).title = wrongRegexMessage;
      return false;
   }
   RemoveErrorCssClass(control);
   $get(control).title = "";
   return true;
}

function ValidateDate(controlId, isRequired, requiredMessage, wrongDateFormatMessage, wrongDayMonthYearMessage)
{
   var controlDate = $get(controlId);
   
   if(controlDate == null)
      return;
      
   var dateValue = controlDate.value;
   
   var modifiedDate = dateValue.replace(".","/");
   var day;
   var month;
   var year;
   
   while(modifiedDate != dateValue) 
   {
      dateValue = modifiedDate;
      modifiedDate = dateValue.replace(".","/");
   }
   
   var isError = false;
   var errorMessage = "";
   if (isRequired && dateValue.trim() == '')
   {
      isError = true;
      errorMessage = requiredMessage;
   }
   else if (dateValue.trim() != '')
   {
      isError = isError || (dateValue.indexOf('/') == -1);
      if (!isError)
      {
         var values = dateValue.split('/');
         isError = (values.length != 3) || isError;
         if (isError)
         {
            errorMessage = wrongDateFormatMessage;
         }
         else
         {
            isError = isError || (IsNotNumber(values[0]) || IsNotNumber(values[1]) || IsNotNumber(values[2]));
            if (!isError)
            {

               month = parseInt(values[0], 10);
               day = parseInt(values[1], 10);
               year = parseInt(values[2], 10);
               
               isError = (month <= 0 || month > 12) || (year < 1900) || (day <= 0 || day > SelectMaxNumberOfDays(month, year)) || isError; 
               if (isError)
                  errorMessage = wrongDayMonthYearMessage;        
            }
            else
            {
               errorMessage = wrongDateFormatMessage;
            }
         }
      }
      else
      {
         errorMessage = wrongDateFormatMessage;
      }
   }
   
   if (isError)
      SetErrorCssClass(controlId);
   else
      RemoveErrorCssClass(controlId);      
   $get(controlId).title = errorMessage;
   
   return (!isError);   
}

function ValidateNumberTextBoxFixLength(controlId, requiredMessage, notANumberMessage, charNumber)
{
   var errorMessage = "";
   
   var number = $get(controlId).value;
   if (number.length != charNumber)
      {
         SetErrorCssClass(controlId);
         errorMessage = "It must have " + charNumber + " characters";
         $get(controlId).title =  errorMessage;
         return false;       
      }
      else RemoveErrorCssClass(controlId);
      
   $get(controlId).title =  errorMessage;
   return ValidateNumberTextBox(controlId, requiredMessage, notANumberMessage);
}

function ValidateNumberTextBox(controlId, requiredMessage, notANumberMessage)
{
   var errorMessage = "";
   var isError = false;
   var number = $get(controlId).value.trim();
   
   if (number == '')
   {
      isError = true;
      errorMessage = requiredMessage;
   }
   
   var numberExpression = /^\d{1,}$/;
   var intNumber = parseInt(number, 10);
   if (!isError && (number.search(numberExpression) == -1))
   {
      isError = true;
      errorMessage = notANumberMessage;      
   }
   if (isError)
      SetErrorCssClass(controlId);
   else
      RemoveErrorCssClass(controlId);
   
   $get(controlId).title =  errorMessage;
   
   return (!isError);
}

function ValidateNumberFloatTextBox(controlId,requiredMessage, notANumberMessage)
{
   var errorMessage = "";
   var isError = false;
   var number = $get(controlId).value.trim();
   
   if (number == '')
   {
      isError = true;
      errorMessage = requiredMessage;
   }
   
   var numberExpression = /^[0-9]*\.?[0-9]+$/;
   var intNumber = parseFloat(number);
   if (!isError && (number.search(numberExpression) == -1))
   {
      isError = true;
      errorMessage = notANumberMessage;      
   }
   if (isError)
      SetErrorCssClass(controlId);
   else
      RemoveErrorCssClass(controlId);
   
   $get(controlId).title =  errorMessage;
   
   return (!isError);
}

function SelectMaxNumberOfDays(month, year)
{
   switch (month)
   {
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:
         return 31;
         break;
      case 4:
      case 6:
      case 9:
      case 11:
         return 30;
         break;
      case 2:
         if (year % 4 == 0)
            return 29;
         else
            return 28;
         break;
   }
}

function IsNotNumber(text)
{
   var number = parseInt(text, 10);
   return (isNaN(number));
}

function ValidateSaveCategory(textNameId)
{
   var isError = false;
   isError = !ValidateText(textNameId) || isError;
   
   if (isError)
   {
      alert('Section name is required!');
      try 
      {
         $get(textNameId).focus(); 
      } 
      catch(e) { } 
   }
   
   return !isError;
}

function ResetCategoryForm(textUrlId, headerEditorId, footerEditorId)
{
   $get(textUrlId).value = '';
   $get(headerEditorId).value = '';
   $get(headerEditorId).value = '';
}

function ValidateSaveIssueEdit(textNumberId, textIssueDateId, requiredMessage, wrongDateFormatMessage, wrongDayMonthYearMessage, notANumberMessage)
{
   var isError = false;
   var focusSet = false;
   isError = !ValidateNumberTextBox(textNumberId, requiredMessage, notANumberMessage) || isError;
   if (isError)
   {
      $get(textNumberId).focus();
      focusSet = true;
   }
      
   isError = !ValidateDate(textIssueDateId, true, requiredMessage, wrongDateFormatMessage, wrongDayMonthYearMessage) || isError;
   if (isError && !focusSet)
   {
      $get(textIssueDateId).focus();
   }
   
   return !isError;
}

function OnGetPassword(textEmail, requiredMessage)
{
   var valid = true;
   
   valid = ValidateText(textEmail, requiredMessage);
   
   return valid;
}

function InsertGoogleAnalytics()
{    
   var links = document.links; 
   var href;
   for (index = 0; index < links.length; index++)
   {
      href = links[index].href;  
      var isFile = ((href.indexOf("kalameh.com") >= 0 || href.indexOf("http://localhost") >= 0) && href != "http://www.kalameh.com/" && href.indexOf(".aspx") < 0); 
      var isOutgoing = (href.indexOf("kalameh.com") < 0 && href.indexOf("http://localhost") < 0 && href.indexOf("__doPostBack") < 0);
      if (isOutgoing || isFile)
      {
         links[index].onclick = function()
         { 
            if(document.activeElement)
               href = document.activeElement.href; 
            else href = "";
            var urchinString;
            var isFile = ((href.indexOf("kalameh.com") >= 0 || href.indexOf("http://localhost") >= 0) && href != "http://www.kalameh.com/" && href.indexOf(".aspx") < 0); 
            var isOutgoing = (href.indexOf("kalameh.com") < 0 && href.indexOf("http://localhost") < 0 && href.indexOf("__doPostBack") < 0);
            if (isFile)
            {
               urchinString = "/download/" + href.substring(href.indexOf("kalameh.com") + "kalameh.com".length).replace(/\/|\./g, '_');               
            }
            else if (isOutgoing)
            {
               urchinString = "/outgoing/" + href.replace(/\/|\./g, '_');
            }
            if(typeof(urchinTracker)=="function")
               urchinTracker(urchinString);
         }; 
      }
   }   
}

//FLV Player

function GetFlashPlayer(fileId, fileExtension, width, height, playerPath, storagePath)
{
   var result = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"';
   result += 'width="' + width + '" height="' + height + '" bgcolor="#FFFFFF">';
   result += '<param name="movie" value="' + playerPath + '?file=' + fileId + fileExtension + '&bufferTime=3&autoStart=false&storageType='+ storagePath + '" />';
   result += '<param name="quality" value="high" />';
   result += '<embed src="' + playerPath + '?file=' + fileId + fileExtension + '&bufferTime=3&autoStart=false"';
   result += 'quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"';
   result += 'width="' + width + '" height="' + height + '" bgcolor="#FFFFFF" />';
   result += '</object>';
   
   return result;
}

function LoadFlashPlayer(panelId, fileId, fileExtension, width, height, playerPath, storageType)
{  
   document.getElementById(panelId).innerHTML = GetFlashPlayer(fileId, fileExtension, width, height, playerPath, storageType);
}

function ShowHideDropSelectVideo(dropTypeId, labelId, dropVideoId, text, panelId)
{
   var dropType = $get(dropTypeId);
   var dropVideo = $get(dropVideoId);
   var label = $get(labelId);
   var panel = $get(panelId);
   
   if (dropType.options[dropType.selectedIndex].value == "3" || dropType.options[dropType.selectedIndex].value == "4" 
      || dropType.options[dropType.selectedIndex].value == "5" || dropType.options[dropType.selectedIndex].value == "6")
      {
         dropVideo.style.display = "block";
         panel.style.display = "block";
         //label.innerHTML = text;
      }
   else
      {
         dropVideo.style.display = "none";
         panel.style.display = "none";
         //label.innerHTML = "";       
      }
}

function ClosePopup(popupBehaviorId)
{
   HideModalPopupViaClient(popupBehaviorId);
   return false;
}

function ClosePopupAndReturn(popupBehaviorId)
{
   HideModalPopupViaClient(popupBehaviorId);
   return true;
}

function BroadcastValidation (subjectId,labelId, validationText ,checkId, textBoxId, editorId)
{
   var check = $get(checkId);
   var textbox = $get(textBoxId);
   var subject = $get(subjectId);
   var label = $get(labelId);
   var editor = $get(editorId);
   
   if(subject.value == "")
   {
      label.innerHTML = validationText;
      return false;
   }
   else
      label.innerHTML = "";
   
   if(check.checked)
   {
      if(textbox.value == "")
         return confirm("Are you sure you want to send an empty email?");
   }
   else
   {
      if(editor.value == "") // TO DO REPLACE WITH ANOTHER METHOD TO GET THE TEXT FROM THE EDITOR
                             // - THIS ONE DOES NOT WORK
         return confirm("Are you sure you want to send an empty email?");
   }  
   return true;
}

function ShowModalPopupViaClient(popupBehaviorId)
{
   var modalPopupBehavior = $find(popupBehaviorId);
   modalPopupBehavior.show();
}

function HideModalPopupViaClient(popupBehaviorId) 
{     
   var modalPopupBehavior = $find(popupBehaviorId);
   modalPopupBehavior.hide();
}
//Online Bible
function LinkMultiplePassagesClick(tableId, linkId, stringSingle, stringMultiple)
{
   var table = $get(tableId);
   var link = $get(linkId);
   
   if(table.style.display == "none")
   {
   table.style.display = "block";
   link.innerHTML = stringSingle;
   }
   else
   {
   table.style.display = "none";
   link.innerHTML = stringMultiple;
   }
   return false;
}

//Life Testimonies
function ShowHideItem(itemId, buttonId, buttonTextToExpand, buttonTextToCollapse)
{
   var item = $get(itemId);
   var button = $get(buttonId);
   
   if(item.style.display == "none")
   {
      item.style.display = "block";
      button.innerHTML = buttonTextToCollapse;
   }
   else
   {
      item.style.display = "none";
      button.innerHTML = buttonTextToExpand;
   }
  return false;
}

// Email constants panel functions
var arrowLeft;
var arrowRight;

function Initialize(arrowLeftPath, arrowRightPath)
{
   arrowLeft = arrowLeftPath;
   arrowRight = arrowRightPath;
}

function ShowHide(panelEmailTextBoxesId, buttonShowHideId, language)
{
   var panelEmailTextBoxes = $get(panelEmailTextBoxesId);
   var buttonShowHide = $get(buttonShowHideId);
   
   alert(panelEmailTextBoxes.style.display);
   if (panelEmailTextBoxes.style.display == "none")
   {
      panelEmailTextBoxes.style.display = "";
      
      if (language == "Farsi") buttonShowHide.src = arrowLeft;
      if (language == "English") buttonShowHide.src = arrowRight;
      
      return false;
   }
   else
   {
      panelEmailTextBoxes.style.display = "none";
      if (language == "Farsi") buttonShowHide.src = arrowRight;
      if (language == "English") buttonShowHide.src = arrowLeft;
      
      return false;
   }
}

function Label_Click(labelId)
{
   var label;
   label = $get(labelId);
   label.select();   
}

//Spread the word
function SetAsHomepage()
{ 
   if(document.all) // ie
    { 
    
      document.body.style.behavior='url(#default#homepage)';
      document.body.setHomePage('http://www.kalameh.com');
    }
}

function AddFavorites()
{
   var nm=navigator.appName;
   var NS=(window.sidebar);
	
   var IE4 = (document.all);

   if (IE4)
      {
         window.external.AddFavorite(location.href, document.title);
      }
      if (NS)
      {
         window.sidebar.addPanel(document.title, location.href,"");
         //alert("For Netscape, Firefox, AOL and Mozilla users, please press Ctrl+D to add this page to your bookmarks.");
      }
}

function ShowWarning(warningMessage, hiddenUrlFieldId, visibleUrlFieldId)
{
   var hiddenUrlField = document.getElementById(hiddenUrlFieldId);
   var visibleUrlField = document.getElementById(visibleUrlFieldId);
   var okToSave = true;

   if(hiddenUrlField != null && visibleUrlField != null && hiddenUrlField.value.trim().toLowerCase() != visibleUrlField.value.trim().toLowerCase())
      if(confirm(warningMessage))
         return true;
      else return false;
}

function ShowHideDropDown(dropCountryId, dropStateId, textboxId, value, labelLongId)
   {
      var dropCountry = document.getElementById(dropCountryId);
      var dropState = document.getElementById(dropStateId);
      var textbox = document.getElementById(textboxId);
      //var labelLong = document.getElementById(labelLongId);
      
      if(dropCountry.options[dropCountry.selectedIndex].value == value)
      {
         dropState.style.display = "inline";
         textbox.style.display = "none";
         textbox.value = "";
      }
      else
      {
         dropState.style.display = "none";
         //labelLong.innerHTML = "";
         textbox.style.display = "block";
         dropState.selectedIndex = 0;
      }
      return false;
   }
   var NO_STATE_VALUE = "NO_VALUE";

   function SelectState(dropDownStateId, labelStateId)
{
   var dropDownState = document.getElementById(dropDownStateId);
   var label = document.getElementById(labelStateId);
   if(label !=null)
   {
      if (dropDownState.value == NO_STATE_VALUE)
         label.innerHTML = "";
      else
         label.innerHTML = dropDownState.value;
   }
   return false;
}

function ValidateEditProduct(labelErrors,dropDownCategory,fieldHasNoCategory,textBoxEnglishName,textBoxFarsiName,textBoxPrice,
textBoxDatePublication,dropDownType,textBoxNumber,textBoxWeight,requiredMessage,requiredCategory,requiredEnglishName,requiredFarsiName,
requiredPrice,wrongDateMessage,requiredTypeMessage,requiredNumberMessage,requiredWeightMessage)
{
   var fieldCategory = $get(fieldHasNoCategory);
   var labelErrors = document.getElementById(labelErrors);
   var dropDownCategories = $get(dropDownCategory);
   var validCategory = true;
   var validEnglishName= true;
   var validFarsiName = true;
   var validPrice = true;
   var validNumber = true;
   var validWeight = true;
   var validType = true;
   var summaryMessage = '';
   
   validCategory = !eval(fieldCategory.value);
   validEnglishName = ValidateText(textBoxEnglishName,requiredMessage);
   validFarsiName = ValidateText(textBoxFarsiName,requiredMessage);
   validPrice = ValidateNumberFloatTextBox(textBoxPrice,requiredMessage);
   validNumber = ValidateText(textBoxNumber,requiredNumberMessage);
   validWeight = ValidateNumberFloatTextBox(textBoxWeight, requiredWeightMessage);
   validType = ValidateDropDownList(dropDownType, -1 , requiredTypeMessage);
   validDate = ValidateDate(textBoxDatePublication,false,'',wrongDateMessage,'');
   
   if(!validCategory) 
   { 
        summaryMessage = summaryMessage.concat('<br/>', requiredCategory);
        if(dropDownCategories != null) 
        {
            dropDownCategories.title = requiredMessage; 
            SetErrorCssClass(dropDownCategory);
        }
   }
   else
      {
         if($get(dropDownCategory)!=null) 
            RemoveErrorCssClass(dropDownCategory);
      }
   
   if(!validEnglishName) summaryMessage = summaryMessage.concat(requiredEnglishName,'<br/>');
   if(!validFarsiName) summaryMessage = summaryMessage.concat( requiredFarsiName,'<br/>');
   if(!validPrice) summaryMessage = summaryMessage.concat(requiredPrice,'<br/>');
   if(!validDate) summaryMessage = summaryMessage.concat(wrongDateMessage, '<br/>');
   if(!validType) summaryMessage = summaryMessage.concat(requiredTypeMessage, '<br/>');
   if(!validNumber) summaryMessage = summaryMessage.concat(requiredNumberMessage, '<br/>');
   if(!validWeight) summaryMessage = summaryMessage.concat(requiredWeightMessage, '<br/>');
   
   if(validCategory && validEnglishName && validFarsiName && validPrice && validDate && validNumber && validType && validWeight)
      return true;
   else 
   {
      labelErrors.innerHTML = summaryMessage;
      labelErrors.style.display = "block";
      return false;
   }
}

function OnPostMessageClicked(textContent,textEmail,textPassword,requiredMessage,wrongEmailMessage,useEmailAndPassword)
{
   var valid = true;
   
   valid = ValidateText(textContent,requiredMessage) && valid;
   if(useEmailAndPassword)
   {
    valid = ValidateIsRequiredRegexText(textEmail, EMAIL_REGEX, true, requiredMessage, wrongEmailMessage) && valid;
    valid = ValidateText(textPassword,requiredMessage) && valid;
   }
   
   return valid;
}

function check_msgform(textContent) 
{
   if ($get(textContent).value == null || $get(textContent).value.trim().length == 0)
   {
      alert('Content is requiered');
      try
      {
         $get(textContent).focus();         
      }
      catch(e) { }
      return false;
   }
   return true;
}
 
function reset_msgform() 
{
   var elements = document.forms(0).elements;
   
   for (i = 0; i<elements.length; i++)
   {
      if (elements(i).id.indexOf('textContent') != -1)
      {
         elements(i).value = '';
      }
   }
}

function switchh(obj)
{
    if (document.getElementById(obj).style.display=='none')
    {
        document.getElementById(obj).style.display='';
    }
    else
    {
        document.getElementById(obj).style.display='none';
    }    
}

function ShowAddComment(linkAddComment, panelComment)
{
   var  link = document.getElementById(linkAddComment);
   var panel = document.getElementById(panelComment);
   if(panel.style.display == "none")
   {
      panel.style.display = "block";
      window.scroll(0,80000);
   }      
      else
      {
         panel.style.display = "none";
         //window.scroll(0,0);
      }
   return false;
 }
 
 function ValidateTextLenght(lenght, textboxId, labelErrorId)
 {
   var textbox = $get(textboxId);
   var labelError = $get(labelErrorId);
   if (textbox.value.trim().length < lenght)
      {
         labelError.style.display ="block";
         return false;
      }
   return true;
 }
 
function ShowPopupIfSure(modalPopupId)
{
   if(confirm('Are you sure?')) ShowModalPopupViaClient(modalPopupId);
   return false;
}

var IsClicked ;

function ReturnNotIsClicked()
{
   var oldValue = IsClicked;
   
   if(!IsClicked) IsClicked = !IsClicked;
   
   return !oldValue;
}

function RefreshIsClicked()
{
  IsClicked = false;
}
 
 function RotateAds(imageLinkClientId, currentIndex, hrefs, titles, srcs, intervals)
 {
   var link = document.getElementById(imageLinkClientId);
   var image = link.getElementsByTagName("img")[0];
   
   if (currentIndex >= hrefs.length) currentIndex = 0;
   
   image.style.maxWidth = link.clientWidth + "px";
   image.src = srcs[currentIndex];
   image.alt = titles[currentIndex];
   link.title = titles[currentIndex];
   link.href = hrefs[currentIndex];

   setTimeout(function(){RotateAds(imageLinkClientId, currentIndex+1, hrefs, titles, srcs, intervals);},intervals[currentIndex]*1000);
 }
