var formName;
var cat;
var add_cat1;
var add_cat2;
$(document).ready(function(){
  formName = $("#form_name").val();
  firstLoad();
});
function myJs(nameElement){
  return document[formName][nameElement];
}

function firstLoad() {
  var catValue 		= $("[name=cat]").find("option:seleted").val();
  var addcat1Value 		= $("[name=add_cat1]").find("option:seleted").val();
  var addcat2Value 		= $("[name=add_cat2]").find("option:seleted").val();
  
  cat = catValue;
  add_cat1 = addcat1Value;
  add_cat2 = addcat2Value;
  $("[name=add_cat1]").get(0).disabled = (catValue <= 0) ? true : false;
  $("[name=add_cat2]").get(0).disabled = ((addcat1Value <= 0) ? true : false);
	var getAttribOnchange = myJs("cat").getAttribute("onchange");
	var y = "'"+getAttribOnchange+"'";
	var c = y.search(/FetchSubCategory/);
	
	var isAjaxEnable = (c < 0 ) ? false : true;
	
	myJs("cat").onchange = function(){
    onchangeCategories("cat");
    if (isAjaxEnable){
      var myValue 		= myJs("cat").options[myJs("cat").selectedIndex].value;
      FetchSubCategory(myValue, 'cat', 'cat_div');
    }
    if (formName == 'add_frm') FetchPricing();
	}
		
  myJs("add_cat1").onchange = function(){
    onchangeCategories("add_cat1");
    if (isAjaxEnable){
      var myValue 		= myJs("add_cat1").options[myJs("add_cat1").selectedIndex].value;
      FetchSubCategory(myValue, 'add_cat1', 'add_cat1_div');
    }
    if (formName == 'add_frm') FetchPricing();
  }
		
  myJs("add_cat2").onchange = function(){
    onchangeCategories("add_cat2");
    if (isAjaxEnable){
      var myValue 		= myJs("add_cat2").options[myJs("add_cat2").selectedIndex].value;
      FetchSubCategory(myValue, 'add_cat2', 'add_cat2_div');
    }
    if (formName == 'add_frm') FetchPricing();
  }
}
 
function onchangeCategories(nmElement,existDisableFields,zeroDisableFields){ // name of element, name of disable field when element is not null, if element is null
  
  var myValue 		= myJs(nmElement).options[myJs(nmElement).selectedIndex].value;
  eval(nmElement+" = '"+myValue+"';");
 	var nothingDone = false;	
	switch (nmElement){
    case 'cat':
			existDisableFields 	= 'add_cat1';	
			zeroDisableFields 	= 'add_cat1,add_cat2';	
      if (!myValue){
        add_cat1 = '';
        add_cat2 = '';
      }
    break;
    case 'add_cat1':
			existDisableFields 	= 'add_cat2';	
			zeroDisableFields 	= 'add_cat2';
      if (!myValue){
        add_cat2 = '';
      }
			break;
		default:
			nothingDone = true;	
    break;
  }
  if (!nothingDone){
		var arrayExistDisableFields = existDisableFields.split(",");
	  var arrayNullDisableFields 	= zeroDisableFields.split(",");
		if (myValue && myValue!=0 ){
			for (var x=0;x<(arrayExistDisableFields.length);x++){
				myJs(arrayExistDisableFields[x]).disabled=false;
			}
		}else{
			for (var x=0; x<(arrayNullDisableFields.length);x++){
				myJs(arrayNullDisableFields[x]).selectedIndex=0;
				myJs(arrayNullDisableFields[x]).disabled=true;
			}
		}
	}	
  
}
