/* 
crann.js: library of javascript for animation / branding effects
    david.kelly@fanore.com (http://www.fanore.com/website_design.htm)
    
    
    
*/

function setup_page(){
   //alert("settings")
    if ($('#map').length){
        eval('load_map();');
    }
    

    $('#search_form').submit(
        function(){
        return eval('validate_search();')
        });
        
    if ($('#cv_form').length)
    {
        $('#cv_form').submit(
            function(){
            return eval('validate_cv();')
            });
    }
    
     if ($('#form_contact_us').length){
       // setup_focus();
        $('#form_contact_us').submit(
            function(){
            return eval('validate_form();');
            });
     }
    $('ul#animated_services').innerfade({
        speed: 2000,
        timeout: 10000,
        type: 'random_start',
        containerheight: '200px'
    });
    //$('li','#animated_services').removeClass('no_show');
    
    fix_height();
}



function fix_height(){
 
    var h=$(window).height()-266
    if (($('#main_panel').height()) < h){
       $('#main_panel').height(h);
    }
    else{
       $('#main_panel').height('auto');    
    }
}
function load_map() {
//  alert("map")
    var lat=53.315416050522636;
    var lon=-6.333500146865845;
    var c_lat=53.31711453621541;
    var c_lon=-6.3330817222595215;
    if (GBrowserIsCompatible()) {
        var map = new GMap(document.getElementById("map"));
        map.addControl(new GLargeMapControl())
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(c_lat, c_lon), 9);
        //var blueIcon = new GIcon(G_DEFAULT_ICON);
        //blueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";        		
        var html='<strong>Abacus Systems & Networks</strong><br/>Unit 2-3, Mulcahy Keane Estate<br/>Greenhills Road<br/>Walkinstown, Dublin 12'
        var point = new GPoint(parseFloat(lon), parseFloat(lat));
        var marker = new GMarker(point);
        var icon = new GIcon(G_DEFAULT_ICON);
        icon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
        icon.iconSize = new GSize(20,20);
        icon.iconAnchor = new GPoint(10,20);
        icon.infoWindowAnchor = new GPoint(10, 20);
        var marker = new GMarker(point,icon);   
        GEvent.addListener(marker, "mouseover", function() {
        marker.openInfoWindowHtml(html);
        });
        map.addOverlay(marker);
        return marker
    }
 }

//submit_form: utility that will perform client side validation of the passed form id and allow validator to post it 
function submit_form(param_form){
    var el=get_el("cs_validation");
    //alert("here");
    if (el){
        var f=$(param_form)
        var cs_validation=f['cs_validation'];
         return eval($(cs_validation).getValue());
    }
    else{
        $(param_form).submit();
    }
}

function open_link(url){
 var settings='Height=' + screen.height + ',Width=' + screen.width + ',Top=0,left=0,scrollbars=yes,resizable=1, location=1,status=1'
 var w=window.open(url,'ggl',settings);    
}

function validate_search(){
    if ($('#txt_keywords').val().length==0){
        alert("please enter one or more keywords to perform a search!");
        $('#txt_keywords').focus();
        return false;
    }
   // $('search_details').value="";
   // $('search_form').submit();
   return true;
}



function validate_form(){
//    alert('here');
    //txt_company
    if ($('#txt_company').val().length==0){
        alert("Please enter your company name!");
        $('#txt_name').focus();
        return false;
    }
    //txt_name
    if ($('#txt_name').val().length==0){
        alert("Please enter a contact name!");
        $('#txt_name').focus();
        return false;
    }
    
    //telephone
    var telephone=fix_telephone($('#txt_telephone').val());
    $('#txt_telephone').val(telephone);
    
    if (telephone.length==0){
        alert("Please enter a contact telephone number!");
        $('#txt_telephone').focus();
        return false;
    }

    //email address
    if ($('#txt_email').val().length==0){
        alert("Please enter a contact email address!");
        $('#txt_email').focus();
        return false;
    }
    var e=$('#txt_email').val();
    if (!check_email(e,true)){
        alert("Please check that you have entered a valid  email address!");
        $('#txt_email').focus();
        return false;
    
    }
    //message
    if ($('#txt_comment').val().length==0){
        alert("Please tell us how we can assist!");
        $('#txt_comment').focus();
        return false;
    }
    
    $('#your_details').val('');
    //
    
    return true;
 }
 
function fix_telephone(param_value){
    var ret_value='';
    var wip_value=param_value;
    var a_values='1234567890+-'
    //alert(wip_value.length);
    for (var i=0;i<=wip_value.length;i++){
    //alert(wip_value.charAt(i))
        for (var x=0;x<=a_values.length;x++){
            
            if (wip_value.charAt(i)==a_values.charAt(x)){
                ret_value+=wip_value.charAt(i)
            }
        }
    } 
    //alert(ret_value);
    return ret_value;   
}




function check_email(svalue, bmail){
    var str=svalue;
    var sinvalid="!,£,\$,%,',\&";
    
    if (bmail==true){
    	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(')|(%)|(")/; // not valid
    	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
    }
    else{
    	var reg1 = /(\.\.)|(^\.)|(')|(%)|(")/; // not valid
    	var reg2 = /([a-zA-Z0-9])|([a-zA-Z])|([0-9])/; // valid
    
    }
    if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
    	return true;
    	}
    return false;
}



//fix_telephone: removes non-numeric characters from user entry
function fix_telephone(param_value){
    var ret_value='';
    var wip_value=param_value;
    var a_values='1234567890'
    //alert(wip_value.length);
    for (var i=0;i<=wip_value.length;i++){
    //alert(wip_value.charAt(i))
        for (var x=0;x<=a_values.length;x++){
            if (wip_value.charAt(i)==a_values.charAt(x)){
                ret_value+=wip_value.charAt(i)
            }
        }
    } 
    //alert(ret_value);
    return ret_value;   
}

//check_format: of a file
function check_format(param_value, param_type){

            
 if (param_value.length!=0){
        //check for allowed file types
        var s_ext=param_value.substr(param_value.length-3,3).toLowerCase();
        switch(s_ext){
            case "jpg": //ok
                return true;
                break;
            case "gif":
                return true;
                break;
            case "tif":
                return true;
                break;
            case "pdf":
                return true;
                break;
            case "mdi":
                return true;
                break;
            case "doc":
                return true;
                break;
            case "ocx":
                return true;
                break;
            case "png":
                return true;
                break;
        }
}

return false;
}



