/* Some global variables */
var LinkCost=10;
var ExpandCatSel,ContractCatSel;
var WentDeeper=1;
var SelectedCats= new Array();
var SelectedCatNames= new Array();

/* Directory Site Star Voting */
function starrating(linkid,voteip,ivoted,pageurl){
        document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="225" height="25" id="StarRating" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="http://www.pepfx.net/pepfxdirectory/flash/star-rating.swf?RateData='+linkid+'XXXXX'+voteip+'XXXXX'+ivoted+'XXXXX'+pageurl+'" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#b6c7dd" /><embed src="http://www.pepfx.net/pepfxdirectory/flash/star-rating.swf?RateData='+linkid+'XXXXX'+voteip+'XXXXX'+ivoted+'XXXXX'+pageurl+'" menu="false" quality="high" bgcolor="#b6c7dd" width="225" height="25" name="flashfile" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
}

/* Count remaining characters for site description text */
function chrlft(){
        var descfield=document.addalink.dsdescription;
        var numchars=descfield.value.length;
        var maxchars=300;
        if(numchars>maxchars){
                descfield.value=descfield.value.substring(0,maxchars);
                document.getElementById('charsleft').innerHTML="0";
        } else {
                document.getElementById('charsleft').innerHTML=maxchars-numchars;
        }
}

/* Email validation */
function validate(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(email);
}

/* Add a link validation */
function checklinkform(){
        document.getElementById('formerrors').innerHTML="&nbsp;";
        var error=0;
        var iagree=document.addalink.agreement.checked;
        var parentid=document.addalink.parentid.value;
        var parents=document.addalink.parents.value;
        var ltitle=document.addalink.dstitle.value;
        var lurl=document.addalink.dsurl.value;
        var ldesc=document.addalink.dsdescription.value;
        var lname=document.addalink.dsname.value;
        var lemail=document.addalink.dsemail.value;
        if(!iagree){
                error=1;
                document.getElementById('formerrors').innerHTML="Please read and confirm you understand the submission guidelines.";
        } else if(parentid==0 && parents==0){
                error=1;
                document.getElementById('formerrors').innerHTML="Please select the category in which your listing should be placed.";
        } else if(ltitle=="" || ltitle==undefined || lurl=="" || lurl==undefined || ldesc=="" || ldesc==undefined || lname=="" || lname==undefined || lemail=="" || lemail==undefined){
                error=1;
                document.getElementById('formerrors').innerHTML="All form fields are required to submit a site for consideration.";
        }
        if(!validate(lemail)){
                error=1;
                document.getElementById('formerrors').innerHTML="Please enter a valid email address.";
        }
        if(error==0){
                document.addalink.submit();
        }
}

/* Add a free link validation */
function checkcatform(){
        document.getElementById('formerrors').innerHTML="&nbsp;";
        var error=0;
        var parentid=document.addalink.parentid.value;
        var parents=document.addalink.parents.value;
        var cname=document.addalink.catname.value;
        var cwhy=document.addalink.catreason.value;
        var name=document.addalink.name.value;
        var email=document.addalink.email.value;
        if(parentid==0 && parents==0){
                error=1;
                document.getElementById('formerrors').innerHTML="Please select the category in which your listing should be placed.";
        } else if(cname=="" || cname==undefined || cwhy=="" || cwhy==undefined || name=="" || name==undefined || email=="" || email==undefined){
                error=1;
                document.getElementById('formerrors').innerHTML="All form fields are required to submit a category for consideration.";
        }
        if(!validate(email)){
                error=1;
                document.getElementById('formerrors').innerHTML="Please enter a valid email address.";
        }
        if(error==0){
                document.addalink.submit();
        }
}

/* Send the Visitor to PayPal */
function gopay(tlid,tltit,ppap,ppas){
        document.write('<form name="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post"><input name="business" value="'+ppap+'@'+ppas+'" type="hidden"><input name="item_name" value="PepFX Web Directory Featured Listing - '+tltit+'" type="hidden"><input name="item_number" value="PFXWD-'+tlid+'" type="hidden"><input name="no_shipping" value="1" type="hidden"><input name="no_note" value="1" type="hidden"><input name="currency_code" value="EUR" type="hidden"><input name="lc" value="US" type="hidden"><input name="tax" value="0" type="hidden"><input name="page_style" value="PepFXnet" type="hidden"><input name="return" value="http://www.pepfx.net/web-directory/paypalconfirm.php" type="hidden"><input name="cancel_return" value="http://www.pepfx.net/web-directory/paypalcancel.php" type="hidden"><input name="rm" value="2" type="hidden"><input name="cbt" value="Return to the PepFX Web Directory" type="hidden"><input name="cmd" value="_xclick" type="hidden"><input name="amount" value="'+LinkCost+'" type="hidden"></form>');
        document.paypal.submit();
}

/* Category Selector Functions */
function opencatselector(){
        clearInterval(ContractCatSel);
        document.getElementById('catselobar').style.display="none";
        document.getElementById('catselcbar').style.display="block";
        ExpandCatSel=setInterval("opencatsel()",10);
}
function closecatselector(){
        clearInterval(ExpandCatSel);
        document.getElementById('catselcbar').style.display="none";
        document.getElementById('catselobar').style.display="block";
        ContractCatSel=setInterval("closecatsel()",10);
}
function opencatsel(){
        var curheight=document.getElementById("catsel").style.height;
        var heightnum=curheight.split("px");
        var newheight=Number(heightnum[0])+10;
        document.getElementById("catsel").style.height=newheight+"px";
        if(document.getElementById("catsel").style.height=="150px"){
                clearInterval(ExpandCatSel);
        }
}
function closecatsel(){
        var curheight=document.getElementById("catsel").style.height;
        var heightnum=curheight.split("px");
        var newheight=Number(heightnum[0])-10;
        document.getElementById("catsel").style.height=newheight+"px";
        if(document.getElementById("catsel").style.height=="0px"){
                clearInterval(ContractCatSel);
        }
}
function selectthelcat(catid,catname){
        if(WentDeeper==0){
                SelectedCats.pop();
                SelectedCatNames.pop();
        }
        document.getElementById("selectedcat").innerHTML=catname;
        SelectedCats.push(catid);
        document.addalink.parentid.value=catid;
        SelectedCatNames.push(catname);
        getlcatsels(catid);
        WentDeeper=1;
        savepids();
}
function choosethelcat(catid,catname){
        if(WentDeeper==1){
                document.getElementById("selectedcat").innerHTML=catname;
                SelectedCats.push(catid);
                document.addalink.parentid.value=catid;
                SelectedCatNames.push(catname);
        } else {
                SelectedCats.pop();
                SelectedCatNames.pop();
                document.getElementById("selectedcat").innerHTML=catname;
                SelectedCats.push(catid);
                document.addalink.parentid.value=catid;
                SelectedCatNames.push(catname);
        }
        WentDeeper=0;
        savepids();
}
function uponelcat(){
        if(WentDeeper==0){
                SelectedCats.pop();
                SelectedCatNames.pop();
        }
        SelectedCats.pop();
        SelectedCatNames.pop();
        if(SelectedCats.length==0){
                document.getElementById("selectedcat").innerHTML="No Category Selected";
                getlcatsels(0);
                document.addalink.parentid.value=0;
        } else {
                var it=SelectedCats.length-1;
                document.getElementById("selectedcat").innerHTML=SelectedCatNames[it];
                document.addalink.parentid.value=SelectedCats[it];
                getlcatsels(SelectedCats[it]);
        }
        WentDeeper=1;
        savepids();
}
function savepids(){
        var pids,i;
        var til=SelectedCats.length;
        if(til==0){
                pids=0;
        } else {
                for(i=0;i<til;i++){
                        if(i==0){
                                pids=SelectedCats[i];
                        } else {
                                pids+="|"+SelectedCats[i];
                        }
                }
        }
        document.addalink.parents.value=pids;
}
function getlcatsels(pid){
        var MyConnect;
        try{
                MyConnect=new XMLHttpRequest();
        }
        catch (e){
                try{
                        MyConnect=new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e){
                        try{
                                MyConnect=new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (e){
                                alert("Your browser does not support AJAX!");
                                return false;
                        }
                }
        }
        MyConnect.onreadystatechange=function(){
                if(MyConnect.readyState==4){
                        var gipResponse=MyConnect.responseText;
                        if(gipResponse=="error"){
                                document.getElementById("catsel").innerHTML = 'An Error has Occurred...<br>Please refresh the page...';
                        } else {
                                document.getElementById("catsel").innerHTML=gipResponse;
                        }
                }
        }
        MyConnect.open("GET","http://www.pepfx.net/pepfxdirectory/ajaxscript.php?action=getlcatsels&pid="+pid);
        MyConnect.send(null);
        return true;
}
