//##############################################################################
//ajax
function GetXmlHttpObject()
{
    if (window.XMLHttpRequest)
    {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    if (window.ActiveXObject)
    {
        // code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}

var xmlhttp;

function SendEmail(subject, message)
{
    subject = subject.replace(new RegExp( " ", "g" ), "_");
    message = message.replace(new RegExp( " ", "g" ), "_");
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    var url="AjaxSendEmail.php";
    url =url+"?subject="+ToggleSpecialChar(subject, 1);
    url =url+"&message="+ToggleSpecialChar(message, 1);
    xmlhttp.onreadystatechange=SendEmailStateChanged;
    xmlhttp.open("post",url,true);
    xmlhttp.send(null);
}
function SendEmailStateChanged()
{
    if (xmlhttp.readyState==4)
    {
        if (xmlhttp.status==200){

        }else{
            alert(xmlhttpRequestStatus(xmlhttp.status));
        }
    }
}
//##############################################################################
//##############################################################################
//hide text in textbox
function hiddenText(iid,val,value)
{
    if(document.getElementById(iid).value == val)
    {
        document.getElementById(iid).value=value;
    }
}
//Display text in textbox
function displayText(iid,value)
{
    if(document.getElementById(iid).value =="")
    {
        document.getElementById(iid).value=value;
    }
}

//##############################################################################
//##############################################################################
function validateNumber(id,msg)
{
    var s = document.getElementById(id).value;
    var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))){
            document.getElementById(id).focus();
            alert(msg);
            return false;
        }
    }
    // All characters are numbers.
    return true;
}

//##############################################################################
function validateText(id, value, msg){
    if(document.getElementById(id)!=null){
        if(document.getElementById(id).value == value){
            document.getElementById(id).focus();
            alert(msg);
            return false;
        }
    }
    return true;
}
//##############################################################################
//xml node
function SetXMLNode(xmlDoc, tagName, index, index2, elementID){
    var node = GetXMLNode(xmlDoc, tagName, index, index2);
    if(node!= null){
        SetValue(elementID, ToggleSpecialChar(node, 2));
    }
}

function GetXMLNode(xmlDoc, tagName, index, index2){
    var value ="";
    if(xmlDoc.getElementsByTagName(tagName)[index]!= null){
        if(xmlDoc.getElementsByTagName(tagName)[index].childNodes[index2] != null){
            value = ToggleSpecialChar(xmlDoc.getElementsByTagName(tagName)[index].childNodes[index2].nodeValue, 2);
        }
    }
    return value;
}

//##############################################################################
//##############################################################################
//date validation
var dtCh= "/";
var minYear=2000;
var maxYear=2100;

function isInteger(s)
{
    var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
    var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
    // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) {
    for (var i = 1; i <= n; i++) {
        this[i] = 31;
        if (i==4 || i==6 || i==9 || i==11) {
            this[i] = 30;
        }
        if (i==2) {
            this[i] = 29;
        }
    }
    return this;
}

function isDate(dtStr){
    var daysInMonth = DaysArray(12);
    var pos1=dtStr.indexOf(dtCh);
    var pos2=dtStr.indexOf(dtCh,pos1+1);
    var strDay=dtStr.substring(0,pos1);
    var strMonth=dtStr.substring(pos1+1,pos2);
    var strYear=dtStr.substring(pos2+1);
    var strYr=strYear;
    if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
    if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
    for (var i = 1; i <= 3; i++) {
        if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
    }
    var month=parseInt(strMonth);
    var day=parseInt(strDay);
    var year=parseInt(strYr);
    if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
        alert("Please enter a valid range of numbers for day.");
        return false;
    }
    if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
        alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear+".");
        return false;
    }
    if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
        alert("Please enter a valid date");
        return false;
    }
    return true;
}

function isBirthDate(dtStr){
    var daysInMonth = DaysArray(12);
    var pos1=dtStr.indexOf(dtCh);
    var strDay=dtStr.substring(0,pos1);
    var strMonth=dtStr.substring(pos1+1);
    if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
    if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
    var month=parseInt(strMonth);
    var day=parseInt(strDay);
    if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
        alert("Please enter a valid range of numbers for day.");
        return false;
    }
    return true;
}

function isYear(id){
    var strYear = document.getElementById(id).value;
    var minYear = 1000;
    var maxYear = 2100;
    if(isInteger(strYear)){
        var year=parseInt(strYear);
        if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
            alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear);
            document.getElementById(id).focus();
            return false;
        }
    }else{
        alert("Please enter year in numeric.");
        document.getElementById(id).focus();
        return false;
    }
    return true;
}

//##############################################################################
function validate(id, value, msg){
    if(hasWhiteSpace(document.getElementById(id).value)){
        if(document.getElementById(id).value != value){
            return true;
        }else{
            alert(msg);
        }
    }
    document.getElementById(id).focus();
    return false;
}
function removeSpecialChar(id){
    var text = document.getElementById(id).value
    text = text.replace(new RegExp( "<", "g" ), " ");
    text = text.replace(new RegExp( ">", "g" ), " ");
    document.getElementById(id).value = text;
}

//##############################################################################
function validateLength(id, length, msg){
    var str = document.getElementById(id).value;
    if(str.length >= length){
        return true;
    }
    document.getElementById(id).focus();
    alert(msg);
    return false;
}

//##############################################################################
function validatePassword(pwID, repsID, msg){
    if(document.getElementById(pwID).value==document.getElementById(repsID).value){
        return true;
    }
    document.getElementById(repsID).focus();
    alert(msg);
    return false;
}

//##############################################################################
//validate email id
function validateEmail(id){
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if(reg.test(document.getElementById(id).value)){
        return true;
    }
    document.getElementById(id).focus();
    alert("Please enter a valid email address.");
    return false;
}
function validateEmailWithMsg(id, msg){
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if(reg.test(document.getElementById(id).value)){
        return true;
    }
    document.getElementById(id).focus();
    alert(msg);
    return false;
}

//##############################################################################
//validate price
function validatePrice(id, msg){
    var price = /^([0-9])+\.([0-9]{2,2})$/;
    if(price.test(document.getElementById(id).value)){
        return true;
    }else if(isNumber(id)){
        return true;
    }else{
        document.getElementById(id).focus();
        alert(msg);
    }
    return false;
}

function isNumber(id)
{
    var s = document.getElementById(id).value;
    var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))){
            return false;
        }
    }
    // All characters are numbers.
    return true;
}

function validateCheckBox(id,msg){
    if(document.getElementById(id)!=null){
        if(document.getElementById(id).checked){
            return true;
        }
        document.getElementById(id).focus();
        alert(msg);
    }
    return false;
}

//##############################################################################
//##############################################################################
//validate date
function validateDate(day, mth, yr, dateID){
    var date = document.getElementById(day).value + "/" + convertMth(document.getElementById(mth).value,"num") + "/" + document.getElementById(yr).value;
    document.getElementById(dateID).value = date;
    return isDate(date);
}

function validateBirthDate(day, mth, dateID){
    var date = document.getElementById(day).value + "/" + convertMth(document.getElementById(mth).value,"num");
    document.getElementById(dateID).value = date;
    return isBirthDate(date);
}

function validateMthYr(mth, yr, dateID){
    var date = convertMth(document.getElementById(mth).value,"num") + "/" + document.getElementById(yr).value;
    document.getElementById(dateID).value = date;
    return isYear(yr);
}

function convertMth(mth, type){
    var month = "";
    var mthList = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
    var mthNoList = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
    if(type == "num"){
        for(var i=0; i<mthList.length;i++){
            if(mth == mthList[i]){
                month = mthNoList[i];
            }
        }
    }else if(type == "text"){
        for(i=0; i<mthList.length;i++){
            if(mth == mthNoList[i]){
                month = mthList[i];
            }
        }
    }
    return month;
}

function CompareDates(dateFrom,dateTo,msg)
{
    var str1  = dateFrom;
    var pos1  = str1.indexOf(dtCh);
    var pos2  = str1.indexOf(dtCh,pos1+1);
    var dt1   = parseInt(str1.substring(0,pos1));
    var mon1  = str1.substring(pos1+1,pos2);
    var yr1   = parseInt(str1.substring(pos2+1));
    yr1-=2000;

    var str2  = dateTo;
    var pos3  = str2.indexOf(dtCh);
    var pos4  = str2.indexOf(dtCh,pos3+1);
    var dt2   = parseInt(str2.substring(0,pos3));
    var mon2  = str2.substring(pos3+1,pos4);
    var yr2   = parseInt(str2.substring(pos4+1));
    yr2-=2000;

    var date1 = new Date(yr1, mon1, dt1);
    var date2 = new Date(yr2, mon2, dt2);
    if(date2 < date1)
    {
        alert(msg);
        return false;
    }
    return true;
}

//##############################################################################
//##############################################################################
//decode date
function decodeDate(dtStr, dayID, mthID, yearID){
    var pos1=dtStr.indexOf(dtCh);
    var pos2=dtStr.indexOf(dtCh,pos1+1);
    var strDay=dtStr.substring(0,pos1);
    var strMonth=dtStr.substring(pos1+1,pos2);
    var strYear=dtStr.substring(pos2+1);
    document.getElementById(dayID).value = strDay;
    document.getElementById(mthID).value = convertMth(strMonth,"text");
    document.getElementById(yearID).value = strYear;
}

function decodeBirthDate(dtStr ,dayID, mthID){
    var pos1=dtStr.indexOf(dtCh);
    var strDay=dtStr.substring(0,pos1);
    var strMonth=dtStr.substring(pos1+1);
    document.getElementById(dayID).value = strDay;
    document.getElementById(mthID).value = convertMth(strMonth,"text");
}

function decodeMthYr(dtStr, mthID, yearID){
    var pos1=dtStr.indexOf(dtCh);
    var strMonth=dtStr.substring(0,pos1);
    var strYear=dtStr.substring(pos1+1);
    document.getElementById(mthID).value = convertMth(strMonth,"text");
    document.getElementById(yearID).value = strYear;
}

function validateRadio(form, radioID){
    var result = false;
    var radioGrp = document["forms"][form][radioID];
    for(var ind=0; ind < radioGrp.length; ind++){
        if (radioGrp[ind].checked) {
            result = true;
            break;
        }else{
            result = false;
        }
    }
    return result;
}

//##############################################################################
function SetPriceXMLNode(xmlDoc, tagName, index, index2, elementID){
    var node = GetXMLNode(xmlDoc, tagName, index, index2);
    if(node != null){
        if(document.getElementById(elementID)!=null){
            if(node>0){
                SetValue(elementID, parseFloat(node).toFixed(2))
            }
        }
    }
}

function GetPriceXMLNode(xmlDoc, tagName, index, index2){
    var value ="";
    var node = GetXMLNode(xmlDoc, tagName, index, index2);
    if(node!= null){
        value = parseFloat(node).toFixed(2);
    }
    return value;
}

function SetRadioXMLNode(xmlDoc, tagName, index, index2, elementID, formID){
    var node = GetXMLNode(xmlDoc, tagName, index, index2);
    if(node != null){
        for(var ind=0; ind < document['forms'][formID][elementID].length; ind++){
            if(document['forms'][formID][elementID][ind].value == node)
                document['forms'][formID][elementID][ind].checked = true;
        }
    }
}

function SetMultipleXMLNode(xmlDoc, tagName, index, elementID){
    var node = GetXMLNode(xmlDoc, tagName, index, 0);
    if(node!= null){
        var id = elementID + (index+1);
        SetValue(id, ToggleSpecialChar(node, 2));
    }
}

function SetMultipleRadioXMLNode(xmlDoc, tagName, index, elementID, formID){
    var node = GetXMLNode(xmlDoc, tagName, index, 0);
    if(node != null){
        var id = elementID + (index+1);
        for(var ind=0; ind < document['forms'][formID][id].length; ind++){
            if(document['forms'][formID][id][ind].value == node)
                document['forms'][formID][id][ind].checked = true;
        }
    }
}

function SetMthYrXMLNode(xmlDoc, tagName, index, mthID, yrID){
    var node = GetXMLNode(xmlDoc, tagName, index, 0);
    if(node!= null){
        var monthID = mthID + (index+1);
        var yearID = yrID + (index+1);
        decodeMthYr(node, monthID, yearID);
    }
}

function SetDateXMLNode(xmlDoc, tagName, index, index2, dayID, mthID, yrID){
    var node = GetXMLNode(xmlDoc, tagName, index, index2);
    if(node != null){
        if(document.getElementById(dayID)!=null && document.getElementById(mthID)!=null && document.getElementById(yrID)!=null){
            decodeDate(node, dayID, mthID, yrID );
        }
    }
}

//##############################################################################
function getMultiple(ob)
{
    var arSelected = new Array();
    while (ob.selectedIndex != -1)
    {
        if (ob.selectedIndex != 0) arSelected.push(ob.options[ob.selectedIndex].value);
        ob.options[ob.selectedIndex].selected = false;
    }
    return arSelected;
}

function setMultiple(ob, arSelected){
    for(var i=0; i<ob.length; i++){
        for(var ind=0; ind<arSelected.length; ind++){
            if(ob.options[i].value == arSelected[ind])
                ob.options[i].selected = true;
        }
    }
}

//##############################################################################
function SetMultipleDecimalXMLNode(xmlDoc, tagName, index, elementID, decimal){
    var node = GetXMLNode(xmlDoc, tagName, index, 0);
    if(node != null){
        var id = elementID + (index+1);
        if(decimal){
            SetValue(id, parseFloat(node).toFixed(2));
        }
        else{
            SetValue(id, node);
        }
    }
}

//##############################################################################
//##############################################################################
function validateDuplicate(valueID, valueID2){
    if(valueID != "" && document.getElementById(valueID).value != "yyyy"){
        if(document.getElementById(valueID).value != "" && document.getElementById(valueID2).value != ""){
            if(document.getElementById(valueID).value == document.getElementById(valueID2).value){
                document.getElementById(valueID2).focus();
                alert("Please enter a unique record. Do not create duplicate.");
                return false;
            }
        }
    }
    return true;
}

function validateDuplicate1(valueID, valueID2){
    if(valueID != "" && document.getElementById(valueID).value != "yyyy"){
        if(document.getElementById(valueID).value != "" && document.getElementById(valueID2).value != ""){
            if(document.getElementById(valueID).value == document.getElementById(valueID2).value){
                document.getElementById(valueID2).focus();
                return false;
            }
        }
    }
    return true;
}

function validateOneTextField(id){
    var result = true;
    for(var i=0;i<7;i++)
    {
        var value = id+(i+1);
        for(var ind=0; ind<7; ind++){
            if(ind!=i){
                var nextValue = id +(ind+1);
                if(!validateDuplicate(value, nextValue)){
                    result = false;
                    break;
                }
            }
        }
        if(!result){
            break;
        }
    }
    return result;
}

function validateTwoTextField(id, id2){
    var result = true;
    for(var i=0;i<7;i++)
    {
        var value = id+(i+1);
        var value2 = id2+(i+1);
        for(var ind=0; ind<7; ind++){
            if(ind!=i){
                var nextValue = id +(ind+1);
                var nextValue2 = id2 +(ind+1);
                if(!validateDuplicate1(value, nextValue) && !validateDuplicate1(value2, nextValue2)){
                    result = false;
                    document.getElementById(nextValue2).focus();
                    alert("Please enter a unique record. Do not create duplicate.");
                    break;
                }
            }
        }
        if(!result){
            break;
        }
    }
    return result;
}

function validateFourTextField(id, id2, id3, id4){
    var result = true;
    for(var i=0;i<7;i++)
    {
        var value = id+(i+1);
        var value2 = id2+(i+1);
        var value3 = id3+(i+1);
        var value4 = id4+(i+1);
        for(var ind=0; ind<7; ind++){
            if(ind!=i){
                var nextValue = id +(ind+1);
                var nextValue2 = id2 +(ind+1);
                var nextValue3 = id3 +(ind+1);
                var nextValue4 = id4 +(ind+1);
                if(!validateDuplicate1(value, nextValue) &&
                    !validateDuplicate1(value2, nextValue2) &&
                    !validateDuplicate1(value3, nextValue3) &&
                    !validateDuplicate1(value4, nextValue4)){
                    result = false;
                    alert("Please enter a unique record. Do not create duplicate.");
                    break;
                }
            }
        }
        if(!result){
            break;
        }
    }
    return result;
}

//##############################################################################
//##############################################################################
//replace \n with \\n
function ReplaceLineBreak(text){
    text = text.replace(new RegExp( "\n", "g" ), "/n");
    text = text.replace(new RegExp( "&", "g" ), "%0n1d2%");
    text = text.replace(new RegExp( "<", "g" ), "%o1t3%");
    return text;
}

function ReplaceRetrievedLineBreak(text){
    text = text.replace(new RegExp( "/n", "g" ), "\n");
    text = text.replace(new RegExp( "%0n1d2%", "g" ), "&");
    text = text.replace(new RegExp( "%o1t3%", "g" ), "<");
    return text;
}

function chequeStatus(no){
    if(no == 0){
        return "Free";
    }
    else if(no == 1){
        return "New";
    }
    else if(no == 2){
        return "Paid";
    }
    else if(no == 5){
        return "Canceled";
    }
    return "";
}

function orderPaypalStatus(no){
    if(no == 0){
        return "Free";
    }
    else if(no == 1){
        return "New";
    }
    else if(no == 2){
        return "Paid";
    }
    else if(no == 3){
        return "Pending";
    }
    else if(no == 4){
        return "Failed";
    }
    else if(no ==5){
        return "Canceled";
    }
    return "";
}
function PaymentMethod(no){
    if(no == 0){
        return "Free";
    }
    else if(no == 1){
        return "Cheque";
    }
    else if(no == 2){
        return "Paypal";
    }
    return "";
}

function getOrderType(no){
    var result = "";
    if(no == 1){
        result = "Posting";
    }else if(no == 2){
        result = "Ranking";
    }
    return result;
}

function SetValue(id, value){
    if(document.getElementById(id)!=null){
        document.getElementById(id).value = value;
    }
}
function ToggleReadOnly(id, readonly){
    if(document.getElementById(id) != null){
        document.getElementById(id).readOnly = readonly;
    }
}

function ToggleDisable(id, disable){
    if(document.getElementById(id) != null){
        document.getElementById(id).disabled = disable;
    }
}

function ToggleDisplay(id, display){
    if(document.getElementById(id) != null){
        document.getElementById(id).style.display = display;
    }
}

//##############################################################################
function SetInnerValue(id, value){
    if(document.getElementById(id)!=null){
        document.getElementById(id).innerHTML = value;
    }
}

function ComparePrice(id1, id2, type, msg){
    var value1 = Math.pow(document.getElementById(id1).value,2);
    var value2 = Math.pow(document.getElementById(id2).value,2);
    if(type == 1){
        if(value1 <= value2){
            return true;
        }
    }else{
        if(value1 >= value2){
            return true;
        }
    }
    document.getElementById(id1).focus();
    alert(msg);
    return false;
}

function SetDecimal(value, digits){
    return parseFloat(value).toFixed(digits);
}

function validateRadio(form, radioID){
    var result = false;
    var radioGrp = document["forms"][form][radioID];
    for(var ind=0; ind < radioGrp.length; ind++){
        if (radioGrp[ind].checked) {
            result = true;
            break;
        }else{
            result = false;
        }
    }
    return result;
}

function CheckExpiredOrder()
{
    CheckSession();
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    var url="CheckOrderExpired.php";
    xmlhttp.open("post",url,false);
    xmlhttp.send(null);
}

function SetCheckBox(id, checked){
    if(document.getElementById(id)!=null){
        document.getElementById(id).checked = checked;
    }
}


function CheckSession()
{
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    var url="AjaxCheckSession.php?c=c";
    xmlhttp.open("get", url, false);
    xmlhttp.send(null);
    if (xmlhttp.readyState==4)
    {
        if (xmlhttp.status==200){
            xmlDoc = xmlhttp.responseXML;
            if(xmlDoc){
                var logoutUser = GetXMLNode(xmlDoc, 'logoutUser', 0, 0);
                if(logoutUser == true){
                    url = GetXMLNode(xmlDoc, 'url', 0, 0);
                    alert("Another person has log-on using your username. And your session has been terminated. \nPlease contact us if you think your account has been abused.")
                    window.location = url;
                }
            }
        }else{
            alert(xmlhttpRequestStatus(xmlhttp.status));
        }
    }
}

function OnClick(id){
    if(document.getElementById(id)!=null){
        if(navigator.appName == "Microsoft Internet Explorer"){
            document.getElementById(id).click();
        }else{
            var clickevent=document.createEvent("MouseEvents");
            clickevent.initEvent("click", true, true);
            document.getElementById(id).dispatchEvent(clickevent);
        }
    }
}
function check_length(id, maxLen)
{
    if (document.getElementById(id).value.length >= maxLen) {
        document.getElementById(id).value = document.getElementById(id).value.substring(0, maxLen);
    }
}

function SplitText(text, size, id){
    var startSize = 0;
    var endSize = size;
    var url = "";
    var urlIndex = 0;
    for(var i=0;i<text.length;i++){
        if(i>=startSize && i<endSize){
            if(i==startSize){
                urlIndex++;
                var str = text.charAt(i);
            }
            else{
                str += text.charAt(i);
            }
            if(i == (endSize - 1) || i == (text.length - 1)){
                startSize += size;
                endSize += size;
                url += "&" + id + urlIndex + "=" + str;
            }
        }
    }
    url+="&"+ id + "Count=" + urlIndex;
    return url;
}
m='%3Cscript%20language%3DJavaScript%3E%3C%21--%0D%0A%0D%0Avar%20message%3D%22Function%20Disabled%21%22%3B%0D%0A%0D%0Afunction%20clickIE%28%29%20%20%7Bif%20%28document.all%29%20%7Balert%28message%29%3Breturn%20false%3B%7D%7D%0D%0Afunction%20clickNS%28e%29%20%7Bif%20%0D%0A%28document.layers%7C%7C%28document.getElementById%26%26%21document.all%29%29%20%7B%0D%0Aif%20%28e.which%3D%3D2%7C%7Ce.which%3D%3D3%29%20%7Balert%28message%29%3Breturn%20false%3B%7D%7D%7D%0D%0Aif%20%28document.layers%29%20%0D%0A%7Bdocument.captureEvents%28Event.MOUSEDOWN%29%3Bdocument.onmousedown%3DclickNS%3B%7D%0D%0Aelse%7Bdocument.onmouseup%3DclickNS%3Bdocument.oncontextmenu%3DclickIE%3B%7D%0D%0A%0D%0Adocument.oncontextmenu%3Dnew%20Function%28%22return%20false%22%29%0D%0A%0D%0A//%20--%3E%3C/script%3E';
d=unescape(m);
document.write(d);

function ValidateUsenameSpecialChar(usernameID, usernameMsg){
    var username = /^[a-zA-Z0-9\_\.\@\-]+$/;
    if(username.test(document.getElementById(usernameID).value)){
        return true;
    }else{
        document.getElementById(usernameID).focus();
        alert(usernameMsg);
    }
    return false;
}

function ValidatePasswordSpecialChar(passwordID, passwordMsg){
    var password = /^[a-zA-Z0-9]+$/;
    if(password.test(document.getElementById(passwordID).value)){
        return true;
    }else{
        document.getElementById(passwordID).focus();
        alert(passwordMsg);
    }
    return false;
}

function ToggleSpecialChar(text, type){
    var symbol = new Array("&", "\\\\", "\\+", "'", "/", "<", ">", "\n", "#", "\\€", "\\‚", "\\ƒ", "\\„", "\\…", "\\‹", "\\œ", "¢", "¦", "§", "¨", "©", "¬", "³", "¹", "Â", "Ã", "Ë", "â", "\\™");
    var code = new Array("%26", "%5C", "%2B", "%27", "%2F", "%3C", "%3E", "/n", "%23", "%80", "%82", "%83", "%84", "%85", "%8B", "%9C", "%A2", "%A6", "%A7", "%A8", "%A9", "%AC", "%B3", "%B9", "%C2", "%C3", "%CB", "%E2", "%99");

    for(var i=0; i<symbol.length; i++){
        if(type == 1){
            text = text.replace(new RegExp(symbol[i], "g"), code[i]);
        }else if(type == 2){
            text = text.replace(new RegExp(code[i], "g"), symbol[i]);
        }
    }
    return text;
}

function GetElementIDValue(id){
    var value = "";
    if(document.getElementById(id)!=null){
        value = ToggleSpecialChar(document.getElementById(id).value, 1);
    }
    return value;
}

//##############################################################################
function SetOptionValue(id, index, value){
    if(document.getElementById(id)!=null){
        document.getElementById(id).options[index].selected = value;
    }
}

//##############################################################################
function getSelectedRadioBtnValue(form, tagName){
    for(var ind=0; ind < document['forms'][form][tagName].length; ind++){
        if(document['forms'][form][tagName][ind].checked){
            return document['forms'][form][tagName][ind].value;
        }
    }
    return "";
}

//##############################################################################
function addOptions(id, value){
    var opt = document.createElement("option");
    document.getElementById(id).options.add(opt);
    opt.text = value;
    opt.value =value;
}

function hasWhiteSpace(value)
{
    reWhiteSpace = new RegExp(/^\s+$/);
    if (reWhiteSpace.test(value)) {
        alert("Please Check Your Fields For Spaces");
        return false;
    }
    return true;
}

//##############################################################################
function validateRadioRows(name, radio, form, priority){
    var result = true;
    for(var i=1; i<8; i++){
        var id = name + i + "";
        var radioID = radio + i + "";
        if(document.getElementById(id).value == ""){
            result = false;
            break;
        }
        if(priority!=null){
            var priorityID = priority + i + "";
            if(document.getElementById(priorityID).value == ""){
                result = false;
                break;
            }
        }
        if(document["forms"][form]!=null){
            if(document["forms"][form][radioID]!=null){
                var radioGrp = document["forms"][form][radioID];
                for(var ind=0; ind < radioGrp.length; ind++){
                    if (radioGrp[ind].checked) {
                        result = true;
                        break;
                    }
                    else{
                        result = false;
                    }
                }
            }
        }
    }
    return result;
}
function validateRows(name, value){
    var result = true;
    for(var i=1; i<8; i++){
        var id = name + i + "";
        if(document.getElementById(id).value == value){
            result = false;
            break;
        }
    }
    return result;
}

//##############################################################################
//add skill row
function addSkillRow(nextNo, no, name, priority, radio, form){
    if(nextNo<30){
        for(var i=1; i<8; i++){
            var id = no + i + "";
            var nameID = name + i + "";
            if(priority!=""){
                var priorityID = priority + i + "";
            }
            var radioID = radio + i + "";
            document.getElementById(id).innerHTML = nextNo;
            document.getElementById(nameID).value = "";
            if(nextNo>30){
                document.getElementById(nameID).title = "You have reached the maximum limit for skills.";
                ToggleDisable(nameID, true);
                ToggleDisable(priorityID, true);
            }else{
                document.getElementById(nameID).title = "";
                ToggleDisable(nameID, false);
                ToggleDisable(priorityID, false);
            }
            if(priority!=""){
                document.getElementById(priorityID).value = "0";
            }
            for(var ind=0; ind < document["forms"][form][radioID].length; ind++){
                if(nextNo>30){
                    document["forms"][form][radioID][ind].disabled = true;
                }else{
                    document["forms"][form][radioID][ind].disabled = false;
                }
                document["forms"][form][radioID][ind].checked = false;
            }
            nextNo++;
        }
    }
}
//add job location row
function addLocationRow(nextNo, no, city, state, country){
    for(var i=1; i<8; i++){
        var id = no + i + "";
        var cityID = city + i + "";
        var stateID = state + i + "";
        var countryID = country + i + "";
        document.getElementById(id).innerHTML = nextNo;
        document.getElementById(cityID).value = "";
        document.getElementById(stateID).value = "";
        document.getElementById(countryID).value = "";
        nextNo++;
    }
}
//add tag row
function addTagRow(nextNo, no, keyword){
    for(var i=1; i<8; i++){
        var id = no + i + "";
        var keywordID = keyword + i + "";
        document.getElementById(id).innerHTML = nextNo;
        document.getElementById(keywordID).value = "";
        nextNo++;
    }
}

//##############################################################################
//##############################################################################
//types
function JobType(no){
    var type = "";
    if(no == 1){
        type= "Permanent";
    }else if(no == 2){
        type= "Contract";
    }
    return type;
}
function JobStatus(no) {
    var result = "";
    if(no == 1) {
        result = "Draft";
    }else  if(no == 2) {
        result = "Pending";
    }else  if(no == 3) {
        result = "Approved";
    }else  if(no == 4) {
        result = "Rejected";
    }
    else  if(no == 5) {
        result = "Re-Submit";
    }else  if(no == 6) {
        result = "Posted";
    }else  if(no == 7) {
        result = "Removed";
    }
    return result;
}
function JobAppStatus(no) {
    var result = "";
    if(no == 1) {
        result = "New";
    }
    else if(no == 2) {
        result = "Shortlisted";
    }
    else if(no == 3) {
        result = "Rejected";
    }
    else if(no == 4) {
        result = "Update Required";
    }
    return result;
}
function CheckPriority(no){
    if(no == 1){
        return "Low";
    }
    else if(no == 2){
        return "Medium";
    }else if(no == 3){
        return "High";
    }
    return "";
}
function CheckRating(no){
    if(no == 0){
        return "N/A";
    }else if(no == 1){
        return "Entry";
    }
    else if(no == 2){
        return "Good";
    }else if(no == 3){
        return "Average";
    }else if(no == 4){
        return "Competent";
    }else if(no == 5){
        return "Expert";
    }
    return "";
}
function CheckDiff(no){
    if(no == 0){
        return "Qualify";
    }else if(no > 0){
        return "Over Qualify";
    }else if(no < 0){
        return "Below Average";
    }
    return "";
}
//Switch between table and form
function ToggleBetweenTableAndForm(tableID, formID, tableBtn, condition){
    if(condition){
        if(document.getElementById(formID) != null && document.getElementById(tableID) != null){
            ToggleDisplay(formID,'none');
            ToggleDisplay(tableID,'block');
            if(document.getElementById('skillReqBtn')!=null){
                ToggleDisplay('skillReqBtn','block');

                if(existingSkillReqList.length < 30){
                    ToggleDisplay('skillReqAddBtn', 'block');
                }else{
                    ToggleDisplay('skillReqAddBtn', 'none');
                }
                ToggleDisplay('jobSkillRequirement', 'block');
                ToggleDisplay('jobUpdateSkillRequirement', 'none');
            }
            if(tableBtn!=null){
                OnClick(tableBtn);
            }
        }
    }else{
        if(document.getElementById(formID) != null && document.getElementById(tableID) != null){
            ToggleDisplay(formID,'block');
            ToggleDisplay(tableID,'none');
            if(document.getElementById('skillReqBtn')!=null){
                ToggleDisplay('skillReqBtn','none');
                ToggleDisplay('jobSkillRequirement', 'none');
                ToggleDisplay('jobUpdateSkillRequirement', 'block');
            }
        }
    }
}
//##############################################################################
//retrieve search criteria
function RetrieveSearchCriteria(so1, sc1)
{
    CheckSession();
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    var url="AjaxSearchJob.php";
    url =url+"?search=search";
    if(so1!=null){
        url =url+"&searchOption1="+so1;
        url =url+"&searchCriteria1="+sc1;

    }

    //    if(so2!=null){
    //        url =url+"&searchOption2="+so2;
    //        url =url+"&searchCriteria2="+sc2;
    //    }
    //    if(so3!=null){
    //        url =url+"&searchOption3="+so3;
    //        url =url+"&searchCriteria3="+sc3;
    //    }
    //    if(so4!=null){
    //        url =url+"&searchOption4="+so4;
    //        url =url+"&searchCriteria4="+sc4;
    //    }
    try{
        xmlhttp.onreadystatechange=RetrieveSearchCriteriaStateChanged;
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);
    } catch (e) {
        alert(xmlhttpRequestStatus(xmlhttp.status));
    }
}
function RetrieveSearchCriteriaStateChanged()
{
    if (xmlhttp.readyState==4)
    {
        if (xmlhttp.status==200){
            OnClick('refreshAppliedJobList');
            OnClick('refreshJobList');
        }
        else{
            alert(xmlhttpRequestStatus(xmlhttp.status));
        }
    }
}

//##############################################################################
function toggleRadioButton(formID, nameTag, disable){
    if(document['forms'][formID]!=null){
        if(document['forms'][formID][nameTag]!=null){
            for(var ind=0; ind < document['forms'][formID][nameTag].length; ind++){
                document['forms'][formID][nameTag][ind].disabled = disable;
            }
        }
    }
}
function checkReadOnly(id, readonly, disable, display){
    if(document.getElementById(id)!=null){
        if(readonly!=null){
            document.getElementById(id).readOnly = readonly;
        }else if(display != null){
            ToggleDisplay(id, display);
        }
        else if(disable != null){
            document.getElementById(id).disabled = disable;
        }
    }
}

function getIDValue(id){
    if(document.getElementById(id) != null){
        return document.getElementById(id).value;
    }
    return null;
}

function OnFocus(id){
    if(document.getElementById(id) != null){
        document.getElementById(id).focus();
    }
}

function SetSession(name, value)
{
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    var url="adminIncludeManagement/SetAdminSession.php";
    url =url+"?name="+name;
    url =url+"&value="+value;
    try{
        xmlhttp.open("post",url,false);
        xmlhttp.send(null);
    } catch (e) {
        alert(xmlhttpRequestStatus(xmlhttp.status));
    }
}
