var req;
var which;
var id;

function submitForm(form,target) {
    var howMany = form.elements.length;
    var i = 0;
    var params='';
    for (count = 0; count < howMany; count++)
    {
        if(count!=0)
            params=params+"&";
        if(form.elements[count].type=='checkbox'){
            form.elements[count].value=form.elements[count].checked;
        }
        if(form.elements[count].tagName.toLowerCase()=='select'){
            if(form.elements[count].multiple){
                var selObj = form.elements[count];
                for (i=0; i<selObj.options.length; i++) {
                    if (selObj.options[i].selected) {
                        params=params+selObj.name+"="+escape(selObj.options[i].value)+"&";
                    }
                }
            }
            else{
                params=params+form.elements[count].name+"="+escape(form.elements[count].value);
            }
        }else
            params=params+form.elements[count].name+"="+escape(form.elements[count].value);
        id=target;
    }
    retrieveURL(form.action+"?"+params);
    return false;
}

function confirmSubmitLink(l,target,message) {
        if (confirm(message)) {
        return submitLink(l,target);
    }else
        return false;
}

function submitLink(l,target) {
    id=target;
    retrieveURL(l.href);                     
    return false; 
}

function submit(l,target) {
    id=target;
    retrieveURL(l);                     
    return false; 
}

function retrieveURL(url) {	
    if (window.XMLHttpRequest) { // Non-IE browsers
        req = new XMLHttpRequest();
        req.onreadystatechange = processStateChange;
        try {
            req.open("GET", url, true);
        }
        catch (e) {
        //alert(e);
        }
        req.send(null);

    } else {
        if (window.ActiveXObject) { // IE
            req = new ActiveXObject("Microsoft.XMLHTTP");
            if (req) {
                req.onreadystatechange = processStateChange;
                req.open("GET", url, true);
                req.send();
            }
        }
    }
}

function processStateChange() {
    if (req.readyState == 4) { // Complete
        if (req.status == 200) { // OK response
            divid=id;
            if(document.getElementById(divid).style.display=='none'){
                document.getElementById(divid).style.display='block';
            }
            result=req.responseText;
            document.getElementById(divid).innerHTML = result;
            addExtLinks(result);
            addExtScripts(result);
            executeScript(result);
        } else
        {
        //alert("Problem: " + req.statusText);
    }
    }
}

function clearDiv(d) {
    document.getElementById(d).style.display='none';
    return false;
}

function addExtScripts(input){
    try{
        var regex=new RegExp(/<script[^>]*>[^<]*<\/script>/);
        var reText=new RegExp(/src=['"][^"]*['"]/);
        var text=null;
        while(regex.test(input)){
            var arr=regex.exec(input);
            try{
                if(reText.test(arr[0])){
                    text=reText.exec(arr[0]);
                    text[0]=text[0].replace(/src=\s?['"]/," ");
                    text[0]=text[0].replace(/['"]/," ");
                    loadjscssfile(text[0],'js');
                }
            }catch(e){               
            }
            var ar=new Array();
            ar=input.split(arr);
            input=ar.toString();
        }
    }catch(e){        
    }
}

function addExtLinks(input){
    try{
        var regex=new RegExp(/<link[^>]*>/);
        var reText=new RegExp(/href=['"][^"]*['"]/);
        var text=null;
        while(regex.test(input)){
            var arr=regex.exec(input);
            try{
                if(reText.test(arr[0])){
                    text=reText.exec(arr[0]);
                    text[0]=text[0].replace(/href=\s?['"]/,"");
                    text[0]=text[0].replace(/['"]/,"");
                    loadjscssfile(text[0],'css');
                }
            }catch(e){}
           
            var ar=new Array();
            ar=input.split(arr);
            input=ar.toString();
        }
    }catch(e){
    }
}
function executeScript(input){
    try{
        var regex=/<script[^>]*>[^<]+<\/script>/;
        var re=new RegExp(regex);
        var text=null;
        while(re.test(input)){
            var arr = re.exec(input);
            try{
                text=arr[0].replace(/<script[^>]*>/,"");
                text=text.replace(/<\/?script\/?>/,"");
                eval(text);
            }catch(e){}
            input=input.split(arr[0]);
        }
    }catch(e){
    }
}
var fileref;

function loadjscssfile(filename, filetype){
    if (filetype=="js"){ //if filename is a external JavaScript file
        fileref=document.createElement('script');
        fileref.setAttribute("type","text/javascript");
        fileref.setAttribute("src", filename);
    }
    else if (filetype=="css"){ //if filename is an external CSS file
        fileref=document.createElement("link");
        fileref.setAttribute("rel", "stylesheet");
        fileref.setAttribute("type", "text/css");
        fileref.setAttribute("href", filename);
    }
    if (typeof fileref!="undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref);
}

function onlyNumbers(evt)
{
    var e = event || evt; // for trans-browser compatibility
    var charCode = e.which || e.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)){
        return false;
    }
    return true;
}
function isAmount(evt,val)
{
    var e =evt; // for trans-browser compatibility
    var charCode = e.which || e.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode!=46){
        return false;
    }
    //var num=document.getElementById('budget').value;
    var num=val.value;
    var dot=0;
    for ( n=0; n < num.length; n ++ ) {
        if ( num.charCodeAt ( n ) == 46 ) {
            dot ++ ;
            if ( dot==1 && charCode==46) {
                //document.getElementById('budget').value="";
                return false;
            }
        }
    }
    return true;
}
function submitThisForm(id){
    var f=document.getElementById(id);
    f.submit();
}


