                var months=["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"];
                function print_state(id) {
                  var state=new Array("Johor", "Kedah", "Kelantan", "Kuala Lumpur", "Labuan", "Melaka", "Negeri Sembilan", "Pahang", "Perak", "Perlis", "Pulau Pinang", "Putrajaya", "Sabah", "Sarawak", "Selangor", "Terengganu");
                  var statehtml="";
                  var sel="";
                  for (s=0;s<state.length;s++) {
                    if (s==0) sel=" selected=\"selected\"";
                    statehtml+="<option value=\""+state[s]+"\""+sel+">"+state[s]+"</option>";
                    sel="";
                  }
                  $("#"+id).html(statehtml);
                }
                function print_day(id) {
                  var daystr="";
                  for (day=1;day<32;day++) {
                    daystr+="<option value=\""+day+"\">"+day+"</option>";
                  }
                  $("#"+id).html(daystr);
                }
                function print_month(id) {
                  var monthstr="";
                  for (var month in months) {
                    monthstr+="<option value=\""+month+"\">"+months[month]+"</option>";
                  }
                  $("#"+id).html(monthstr);
                }
                function print_year(id) {
                  var yearstr="";
                  var y=new Date();
                  for (year=y.getFullYear();year>1919;year--) {
                    yearstr+="<option value=\""+year+"\">"+year+"</option>";
                  }
                  $("#"+id).html(yearstr);
                }
	$(document).ready(function(){
                jQuery.fn.validate_input=function(curid) {
                  if (curid=="" || curid==undefined) curid="#"+$(this).attr("id");
                  var className = $(curid).attr("validate").split(" ");
                  var err_id="#err_"+curid.substr(1);
                  var text="";
                  var optional="0";
                  for ( var i in className ) {
                    var val=$(curid).val();
                    var c=className[i].search(/\[/);                    
                    if (c>=0) { var prm=className[i].substring(c+1).slice(0,-1); className[i]=className[i].substr(0,c);}
                    switch(className[i]){
                        case "required":
                          if (val=="") text+="* Maklumat ini mesti diisikan!<br />";
                          break;
                        case "length":
                          var strLen=prm.split("-");
                          if (val.length<=strLen[0]-1 || val.length>strLen[1]) text+="* Maklumat ini mestilah mempunyai antara "+strLen[0]+" ke "+strLen[1]+" karekter sahaja!<br />";
                          break;
                        case "username":
                          var ptrn=new RegExp(/^[a-z][a-z0-9]{2,7}$/);
                          if (!ptrn.test(val)) text+="* Hanya boleh mengandungi huruf kecil(a-z) dan nombor(0-9) sahaja!<br />* Mesti bermula dengan huruf kecil sahaja!<br />";
                          break;
                        case "email":
                          var ptrn=new RegExp(/^[a-z\d][a-z\d-]*@[a-z\d][a-z\d-]{0,63}\.[a-z]{2,6}(\.[a-z]{2,6})?$/i);
                          if (!ptrn.test(val) && optional!="1") {
                            text+="* Alamat email tidak diterima, sila berikan alamat email yang lain!<br />";
                          }
                          break;
                        case "password":
                          curid="newpass";
                          err_id="#err_"+curid;
                          if (val.length<8 && optional!="1") text+="* Kata laluan mestilah tidak kurang daripada 8 karekter!<br />";
                          var pass=$("input#newpass").val();
                          var repass=$("input#newpass2").val();
                          var oldpass=$("input#pass").val();
                          if (pass!=repass && optional!="1") text+="* Kata laluan baru tidak padan!<br />";
                          if (oldpass=="" && pass!="") text+="* Anda perlu memberikan kata laluan lama untuk menukarnya!<br />";
                          break;
                        case "optional":
                          if (val=="") optional="1";
                          else optional="0";
                          break;
                        case "onlyNumber":
                          var ptrn=new RegExp(/^[0-9]+$/i);
                          if (!ptrn.test(val) && optional!="1") text+="* Hanya nombor sahaja yang dibenarkan!<br />";
                          break;
                        case "telephone":
                          var state=$("#country_state").val();
                          if (curid=="#telh") {
                            if (state=="Johor") var telhptrn=new RegExp(/^0(7|6) \d{7}$/);
                            else if (state=="Melaka" || state=="Negeri Sembilan") var telhptrn=new RegExp(/^06 \d{7}$/);
                            else if (state=="Melaka" || state=="Negeri Sembilan") var telhptrn=new RegExp(/^06 \d{7}$/);
                            else if (state=="Kedah" || state=="Pulau Pinang" || state=="Perlis") var telhptrn=new RegExp(/^04 \d{7}$/);
                            else if (state=="Perak") var telhptrn=new RegExp(/^05 \d{7}$/);
                            else if (state=="Pahang") var telhptrn=new RegExp(/^05|9 \d{7}$/);
                            else if (state=="Pahang" || state=="Kelantan" || state=="Terengganu") var telhptrn=new RegExp(/^09 \d{7}$/);
                            else if (state=="Selangor" || state=="Kuala Lumpur" || state=="Putrajaya") var telhptrn=new RegExp(/^03 \d{7,8}$/);
                            else if (state=="Sarawak") var telhptrn=new RegExp(/^08[2-6] \d{6,7}$/);
                            else if (state=="Sabah") var telhptrn=new RegExp(/^08[7-9] \d{6,7}$/);
                            else if (state=="Labuan") var telhptrn=new RegExp(/^087 \d{6,7}$/);
                            if (!telhptrn.test(val)) text+="* Nombor telefon tidak sah bagi negeri "+state+"<br />* Nombor telefon mestilah dalam format: <br />(kod negeri) nombor telefon<br />Contoh: 03 1234567<br />";
                          } else if (curid=="#telm") {
                            var telmptrn=new RegExp(/^01[02346789] \d{7}$/);
                            if (!telmptrn.test(val)) text+="* Nombor telefon bimbit tidak sah!<br />";
                          }                          
                          break;
                        case "currency":
                          var ptrn=new RegExp(/^[0-9]+(\.[0-9]{1,2})?$/i);
                          if (!ptrn.test(val) && optional!="1") text+="* Mata wang mestilah dalam format 2 titik perpuluhan!<br />Sebagai contoh: 5, 12.1 atau 20.99<br />";
                          break;
                        case "smallerThan":
                          if (optional!="1" && $(prm).val()!="" && Number(val)>=Number($(prm).val())) text+="* Nombor tidak boleh melebihi daripada "+Number($(prm).val())+"<br />";
                          break;
                        case "largerThan":
                          if (optional!="1" && $(prm).val()!="" && Number(val)<=Number($(prm).val())) text+="* Nombor tidak boleh kurang daripada "+Number($(prm).val())+"<br />";
                          break;
                        case "domain":
                          var ptrn=new RegExp(/^[0-9a-z][0-9a-z-]{0,63}$/i);
                          if (optional!="1" && !ptrn.test(val))
                          text+="* Domain tidak sah!<br />* Hanya huruf(a-z), nombor(0-9) dan tanda tolak(-) sahaja dibenarkan.<br />";
                          if (val.match(/^(-.+)|([^-]+-)$/)) text+="* Nama domain tidak boleh bermula atau berakhir dengan tanda tolak(-).<br />";
                          if (val.length>63) text+="* Mestilah tidak melebihi daripada 63 karekter.<br />";
                          break;
                        case "mustcheck":
                          if ($("input#agree:checked").length<1) text+="* Anda mestilah bersetuju dengan terma perkhidmatan kami!<br />";
                          break;
                        case "equalTo":
                          if ($(curid).val().length!=prm) text+="* Maklumat ini mestilah hanya mengandungi "+prm+" karekter sahaja!<br />";
                          break;
                        case "postcode":
                          var state=$("#country_state").val().toLowerCase();
                          if (state=="johor") var ptrn=new RegExp(/^8\d{4}$/);
                          else if (state=="kedah") var ptrn=new RegExp(/^05\d{3}$/);
                          else if (state=="kelantan") var ptrn=new RegExp(/^1\d{4}$/);
                          else if (state=="kuala lumpur") var ptrn=new RegExp(/^(5\d|60|68)\d{3}$/);
                          else if (state=="labuan") var ptrn=new RegExp(/^87\d{3}$/);
                          else if (state=="melaka") var ptrn=new RegExp(/^7\d{4}$/);
                          else if (state=="negeri sembilan") var ptrn=new RegExp(/^7\d{4}$/);
                          else if (state=="pahang") var ptrn=new RegExp(/^(2\d{4})|39|49|69\d{3}$/);
                          else if (state=="perak") var ptrn=new RegExp(/^3\d{4}$/);
                          else if (state=="perlis") var ptrn=new RegExp(/^0\d{4}$/);
                          else if (state=="pulau pinang") var ptrn=new RegExp(/^1\d{4}$/);
                          else if (state=="putrajaya") var ptrn=new RegExp(/^62\d{3}$/);
                          else if (state=="sabah") var ptrn=new RegExp(/^(88|89|90|91)\d{3}$/);
                          else if (state=="sarawak") var ptrn=new RegExp(/^9[3-8]\d{3}$/);
                          else if (state=="selangor") var ptrn=new RegExp(/^(4\d|68)\d{3}$/);
                          else if (state=="terengganu") var ptrn=new RegExp(/^2\d{4}$/);
                          if (!ptrn.test(val)) text+="* Poskod bagi Negeri "+$("#country_state").val()+" tidak sah!";
                          break;
                    }
                  };
                  if (text!="") {
                    $("label"+err_id).html(text);
                    $("input#"+curid).css("background-color","#fc7aa1");
                    $("label"+err_id).show();
                  }
                  else {
                    $("label"+err_id).css("display","none");
                    $("input#"+curid).css("background-color","#ffffff");
                  }
                }
		$(document.body).ready(function () {
			$("dl.faq dd").hide();
                        $("label.error").each(function(){
                          var idname="#"+$(this).attr("id").substr(4);
                          $().validate_input(idname);
                          $(idname).css("background-color","#ffffff");
                  });
		});
		$("dl.faq dt").click(function () {
			var index = $("dl.faq dt").index(this);
			$("dl.faq dd").hide();
			$('dl.faq dd').each(function(ddindex) {
				if (index==ddindex) { $(this).fadeIn(500); }
			});
			return false;
		});                 
                $("td.green").hover(function() {
                  $("td.green div.tooltip").slideToggle(100);                  
                });
                $("td.grey").hover(function() {
                  $("td.grey div.tooltip").slideToggle(100);                  
                });
                $("td.orange").hover(function() {
                  $("td.orange div.tooltip").slideToggle(100);                  
                });
                $("td.red").hover(function() {
                  $("td.red div.tooltip").slideToggle(100);                  
                });
                $("td.darkyellow").hover(function() {
                  $("td.darkyellow div.tooltip").slideToggle(100);                  
                });
                $("blockquote").ready(function() {
                  var html="<img src=\"http://zonirc.info/template/images/icon/16x16/cancel.png\" class=\"close cursor\">";
                  $("blockquote.info").html(html+$("blockquote.info").html());
                  $("blockquote.warn").html(html+$("blockquote.warn").html());
                    $(".close").click(function() {
                      $("blockquote").slideUp();
                    });
                });
                /*
                $("#datefrom").click(function(mouse){
                  // develop the calendar day
                  var daystr="";
                  var d=new Date;
                  for (day=1;day<32;day++) {
                    daystr+="<dd>"+day+"<dd>";
                  }
                  $(this).before("<dl class=\"calendar\"><dt>"+d.getFullYear()+"</dt><dt>"+months[d.getMonth()]+"</dt>"+daystr+"</dl>");
                  var position = $(this).position();
                  var cssObj = {
                    'top' : position.top-200,
                    'left' : position.left
                  }
                  $(".calendar").css(cssObj);
                });
                */
                $("input").blur(function() {
                  $(this).validate_input();
                });
                $("form").submit(function(i) {
                  $("label.error").each(function(){
                    var idname="#"+$(this).attr("id").substr(4);
                    $().validate_input(idname);
                    if ($(this).css("display")!="none") {
                      $(this).focus();
                     i.preventDefault();
                    }
                  });
                });
	});

