// Common.js

function openwin(url, h, w, windowname){
    XPos = screen.availWidth/2 - w/2; 
    YPos = (screen.availHeight/2 - h/2) - 40; 
    var ow = window.open(url, windowname, "toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=top,status=no,width="+w+",height="+h+",ScreenX=0,ScreenY=0,Top="+YPos+",Left="+XPos); 
    ow.focus();
}

function countTxt(frm, limitNum, contCtl, asc){
    if (frm.value.length > limitNum) {
        frm.value = frm.value.substring(0, limitNum);
    }
    if (contCtl!=""){
        var txtCount=document.getElementById(contCtl);
        asc = asc || false;
        if (asc)
            txtCount.innerHTML=frm.value.length;
        else
            txtCount.innerHTML=limitNum - frm.value.length;
    }
}

function SetInputFocusHS(ctl){
    if(!$) 
        return false;
    var top = $(document).scrollTop(); 
    var left = $(document).scrollLeft(); 
    $('form').prepend("<input id='tmphs' type='text'/>");
    $('#tmphs').focus().remove(); 
    $(document).scrollTop(top); 
    $(document).scrollLeft(left); 
    if(ctl) 
        $(ctl).focus();
}
        
function radio_getvalue(id){
    var val = '';
    $(id).find(':radio').each(function(){if(this.checked == true){val = this.value}});
    return val;
}

function toggle(ctl,id1,id2,fn){
    if(typeof ctl == 'string')
        ctl = $(ctl)[0];
    if(ctl.checked){
        $(id1).show();
        if(id2)
            $(id2).hide();
    }else{
        $(id1).hide();                
        if(id2)
            $(id2).show();
    }
    if(fn)
        fn();
}

function insertAtCursor(myField, myValue) {
    myField = $(myField).get(0);
    if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = myValue;
    }
    else if (myField.selectionStart || myField.selectionStart == '0') {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)
        + myValue
        + myField.value.substring(endPos, myField.value.length);
    } else {
        myField.value += myValue;
    }
}

function custRequiredValidator(source, args){
    args.IsValid = ValidatorTrim($('.'+source.controltovalidate).val())!='';
}

function DateValidator(source, args){
    var date = document.getElementById(source.controltovalidate).value;
    args.IsValid = chkdate(date);
}

function MultiFileRequiredValidator(source, args){
    args.IsValid = $("." + $(source).attr('fuToValidate') + ":file").length > 1;
}

function CheckboxRequiredValidator(source, args){
    var hasChecked = false;
    $(source).parent().find(":checkbox").each(function(){if(this.checked){hasChecked=true}});
    args.IsValid = hasChecked;
}

function RadioButtonRequiredValidator(source, args){
    args.IsValid = radio_getvalue($(source).attr('GroupName')) != '';
}

function CheckDateFromToValidator(source, args){
    var ctlB = $($(source).attr('ControlStartId')).val().replace(/-/g," ");
    var ctlE = $($(source).attr('ControlEndId')).val().replace(/-/g," ");
    args.IsValid = true;
    if(chkdate(ctlB) && chkdate(ctlE) && Date.parse(ctlB) > Date.parse(ctlE))
        args.IsValid = false;
}

function roll_over(ctl,img_name, img_src){
   var img = $(ctl).find(img_name).get(0);
   if(img)
        img.src = img_src;
}

function chkdate(objName) {
var strDatestyle = "US"; //United States date style
//var strDatestyle = "EU";  //European date style
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
if(typeof objName == 'string')
    strDate = datefield;
else
    strDate = datefield.value;

if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strMonth = strDateArray[0];
strDay = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
if (booFound == false) {
if (strDate.length>5) {
strMonth = strDate.substr(0, 2);
strDay = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
else{
    return false;
}
}
if (strYear.length == 2) {
strYear = '20' + strYear;
}
// US style
if (strDatestyle == "US") {
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
}
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}
//if (strDatestyle == "US") {
//datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
//}
//else {
//datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
//}

var date = new Date(intYear, intMonth-1, intday);
if (intYear < 100) {
    date.setFullYear(intYear);
}

return (typeof(date) == "object" && intYear == date.getFullYear() && intMonth - 1 == date.getMonth() && intday == date.getDate()) ? true : false;

}
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

function fnPrintPage(id){
    document.getElementById(id).style.display = "none";
    setTimeout("fnShowPrint('" + id + "')", 3000);
    window.print();
}

function fnShowPrint(id){
    document.getElementById(id).style.display = "";
}

function removewatermark(_TextBox,_PopCal){
    $(_TextBox).removeClass('watermark');
}

